@override
Widget build(BuildContext context) {
return Column(
children: <Widget>[
new Text("Some text"),
ListView()
],
);
}
Widget ListView() {
return ListView(
padding: EdgeInsets.symmetric(vertical: 8.0),
children: Item(),
);
}
List<Item> Item() {
return list
.map((item) => Item(text: item))
.toList();
}
class Item extends ListTile {
Item({String text, GestureTapCallback onTap})
: super(subtitle: Column(children: <Widget>[
Text(text),
]));
}
空白空间出现在屏幕上,并在控制台说:
垂直视被赋予无限的高度。视口的滚动方向扩大,以填补他们的集装箱。
包装内灵活的ListView将使它发挥作用。
Widget ListView() {
return new Flexible(child: new ListView(
padding: new EdgeInsets.symmetric(vertical: 8.0),
children: Item()));
}
最好的解决办法是使用灵活,但如果你想给它一个确切的高度,你应该使用的容器是这样的:
Widget ListView() {
return Container(
height:100.0,
child: ListView(
padding: new EdgeInsets.symmetric(vertical: 8.0),
children: Item()));
}