我有一个带有 ListView.builder 的页面,当我调整窗口大小时,ListView 按预期缩小,并且项目是可滚动的。
但我只希望它缩小到最小高度,以便某些项目始终显示,但目前它继续缩小,直到你看不到任何东西。
我尝试将其包装在 ConstrainedBox 中,但它没有改变任何内容。使用以下预期行为是屏幕上列表占用的空间将随着窗口大小的调整而缩小,但当窗口高度为 200 时停止缩小。
我错过了什么?
谢谢
ConstrainedBox(
constraints: const BoxConstraints(minHeight: 200),
child: ListView.builder(
itemCount: controller.items.length,
itemBuilder: (context, index) {
return ListTile(title: Text(controller.items[index].title.value));
}
),
)
使用 ConstrainedBox 设置 minHeight 和 maxHeight 还要注意收缩包装
ConstrainedBox(
constraints: new BoxConstraints(
minHeight: 35.0,
maxHeight: 160.0,
),
child: new ListView(
shrinkWrap: true,
children: <Widget>[
new ListItem(),
new ListItem(),
],
),
)
您也可以使用这个可扩展包。 https://pub.dev/packages/expandable