@override
Widget build(BuildContext context) {
return new Column(
children: <Widget>[
new Text("Some text"),
ListView()
],
);
}
Widget ListView() {
return new ListView(
padding: new EdgeInsets.symmetric(vertical: 8.0),
children: Item());
}
List<Item> Item() {
return list
.map((item) => new Item(text: item))
.toList();
}
class Item extends ListTile {
Item({String text, GestureTapCallback onTap})
: super(
subtitle: new Column(children: <Widget>[
new Text(text),
]));
屏幕上出现空白,控制台显示:
垂直视口的高度不受限制。视口在 滚动方向以填充其容器。
答案 0 :(得分:8)
在Flex内包装ListView将使其正常工作。
Widget ListView() {
return new Flexible(child: new ListView(
padding: new EdgeInsets.symmetric(vertical: 8.0),
children: Item()));
}
答案 1 :(得分:1)
最好的解决方案是使用Flexible,但是如果要给它一个确切的高度,则应使用Container,如下所示:
Widget ListView() {
return Container(
height:100.0,
child: ListView(
padding: new EdgeInsets.symmetric(vertical: 8.0),
children: Item()));
}