我只希望屏幕的一部分可滚动。当ListView中的项目数超过4或5时,我将无法在此列表视图下放置任何小部件。我不确定是否有办法包装listview的所有内容以使其可滚动。
package test1
func Func1() {
test2.Func2()
fmt.println("func1")
}
这是我的ListView,这就是用户界面的外观
问题是当RadioTile的数量超过8个时; textField和Button被推出屏幕。 我想知道使整个屏幕可滚动是否良好? 还是仅使屏幕一部分包含RadioTiles Scrollable?
谢谢
答案 0 :(得分:2)
有两点要考虑:
如果您打算在RadioTiles
下还有更多字段,以及Google Listing URL和Save按钮,那么保持整个屏幕可滚动可能是一个不错的选择。
另一方面,如果只是RadioTiles
下面的两件事,那么最好只保留RadioTile
列表可滚动。这样,TextField
和“保存”按钮将始终可供用户访问,而无需滚动。
此外,您可以根据字段的优先级决定滚动。如果TextField
和“保存”按钮具有更高的优先级,那么最好始终在屏幕上可见它们。
要仅使屏幕的一部分可滚动,可以将ListView
包裹在具有一定固定高度的Container
中,以便它仅在这些边界内滚动。
您还需要将physics
属性更改为AlwaysScrollableScrollPhysics()
。
示例-
Container(
height: 300.0 //Your custom height
child: ListView(
shrinkWrap: true,
physics: AlwaysScrollableScrollPhysics(),
children: _getListings(businessListing),
),
)
答案 1 :(得分:0)
要完成thebuggycoder answer,如果您只想让屏幕的一部分保持可滚动状态,但要使底部元素的高度保持可变,则可以将ListView
嵌入{{1 }},如下所示:
Expanded
您在做什么,基本上是在告诉您的Column
有2个(或更多)元素,其中每个元素通常占用其所需的空间,除了Column(
children: [
Expanded(
child: ListView(
children: _getListings(businessListing),
),
),
Container(
child: Text('This element must stay at the bottom'),
),
],
);
元素之外的元素将占用“ Column
中剩余的最大空间。