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

问题描述 投票:8回答:2
 @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),
      ]));
 }

空白空间出现在屏幕上,并在控制台说:

垂直视被赋予无限的高度。视口的滚动方向扩大,以填补他们的集装箱。

flutter flutter-layout
2个回答
13
投票

包装内灵活的ListView将使它发挥作用。

Widget ListView() {
return new Flexible(child: new ListView(
    padding: new EdgeInsets.symmetric(vertical: 8.0),
    children: Item()));
}

1
投票

最好的解决办法是使用灵活,但如果你想给它一个确切的高度,你应该使用的容器是这样的:

    Widget ListView() {
    return Container(
       height:100.0,
       child: ListView(
        padding: new EdgeInsets.symmetric(vertical: 8.0),
        children: Item()));
    }
© www.soinside.com 2019 - 2024. All rights reserved.