垂直视口被赋予无限的高度误差

时间:2018-08-08 07:20:18

标签: flutter flutter-layout

 @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),
    ]));

屏幕上出现空白,控制台显示:

垂直视口的高度不受限制。视口在   滚动方向以填充其容器。

2 个答案:

答案 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()));
    }