使一部分屏幕在Flutter中可滚动

问题描述 投票:1回答:1

我想只使我的屏幕的一部分可滚动。当ListView中的项目数超过4或5时,我无法在此列表视图下放置任何小部件。我不确定是否有办法包装listview的所有内容以使其可滚动。

  ListView(
    shrinkWrap: true,
    physics: NeverScrollableScrollPhysics(),
    children: _getListings(businessListing),
  ),

这是我的ListView,这就是UI的外观

here

问题是当RadioTile的数量超过8时; textField和Button被推出屏幕。我想知道整个屏幕是否可滚动是否有用?或者只制作包含RadioTiles Scrollable的屏幕的一部分?

谢谢,

flutter user-experience flutter-layout
1个回答
3
投票

有几点需要考虑:

  1. 如果您计划在RadioTiles下方添加更多字段以及Google列表网址和“保存”按钮,那么保持整个屏幕可滚动可能是一个不错的选择。
  2. 另一方面,如果它只是RadioTiles下面的两个东西,那么最好只保持RadioTile列表可滚动。这样,TextField和Save按钮将始终可供用户访问,而无需滚动。
  3. 此外,您可以根据字段的优先级决定滚动。如果TextField和Save按钮具有更高的优先级,那么最好是它们始终在屏幕上可见。

要仅使屏幕的一部分可滚动,您可以将ListView包装在具有一定固定高度的Container中,以便它仅在这些边界内滚动。

您还需要将physics属性更改为AlwaysScrollableScrollPhysics()

示例 -

Container(
  height: 300.0 //Your custom height
  child: ListView(
    shrinkWrap: true,
    physics: AlwaysScrollableScrollPhysics(),
    children: _getListings(businessListing),
  ),
)
© www.soinside.com 2019 - 2024. All rights reserved.