Flutter Horizo​​ntal ListView高度问题:水平视口被赋予了无限的高度

时间:2019-09-09 12:32:15

标签: flutter dart

我希望水平ListView是其最高子级的高度。我不想为容器设置静态高度。有什么解决办法吗?下面是代码。灵活的小部件也不起作用。

我不想使用扩展或灵活小部件,因为它们不是我所需要的。我需要具有其最高元素高度的ListView。

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        mainAxisSize: MainAxisSize.min,
        children: [
          Container(
// I do not want to set this
//            height: 100, 
            child: ListView(
              scrollDirection: Axis.horizontal,
              children: [
                Text('Hello'),
                Text('Hi'),
              ],
            ),
          )
        ],
      ),
    );
  }

1 个答案:

答案 0 :(得分:0)

好吧,您的列表视图默认高度与Column相同。由于ListView在Cloumn中,因此listView的高度没有限制。您可以将ListView包装到Exapnded Widget中,这样您的listview只能使用所需的高度

 @override


Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(),
      body: Column(
        crossAxisAlignment: CrossAxisAlignment.start,
        mainAxisSize: MainAxisSize.min,
        children: [
          Expanded(
// I do not want to set this
//            height: 100, 
            child: ListView(
              shrinkWrap: true,
              scrollDirection: Axis.horizontal,
              children: [
                Text('Hello'),
                Text('Hi'),
              ],
            ),
          )
        ],
      ),
    );
  }