【问题标题】:Flutter: ListView maximum heightFlutter:ListView最大高度
【发布时间】:2020-06-08 08:31:46
【问题描述】:

我可以设置一个最小高度,如下所示: 列表显示( 收缩包装:是的, 孩子:listItems.toList(), );

但是我怎么能有一个最大高度来显示最多 3 个元素呢? (要查看其余部分,我必须滚动)

【问题讨论】:

    标签: flutter flutter-layout


    【解决方案1】:

    您可以使用 SizedBox 包装您的 ListView,如下所示:

    SizedBox(
        height: 300,
            child: ListView(
                children: <Widget>[
                    SizedBox(height: 100, child: Placeholder()),
                    SizedBox(height: 100, child: Placeholder()),
                    SizedBox(height: 100, child: Placeholder()),
                    SizedBox(height: 100, child: Placeholder()),
                ],
              ),),
    

    编辑: 如果您希望容器在少于 3 个项目时缩小,请为容器设置 maxHeight 约束,为 ListView 设置shrinkWrap: true

    Container(
      decoration: BoxDecoration(border: Border.all(width: 2.0, color: Colors.red)),
      constraints: BoxConstraints(maxHeight: 300),
      child: ListView(
        shrinkWrap: true,
        children: <Widget>[
          SizedBox(height: 100, child: Placeholder()),
          SizedBox(height: 100, child: Placeholder()),
        ],
      )
    ),
    

    【讨论】:

    • 我正在寻找一些 ListView 参数,但我想我可以用一些大小的小部件包装它
    • 尝试这并不是我的意思。如果我们设置 300px 高度,我们将始终拥有固定大小,但我的目标是响应式列表。如果我有 1-2-3 个元素,则大小将是元素的数量,但超过它会有一个滚动。这就像 css 中的 max-heightheight
    猜你喜欢
    • 1970-01-01
    • 2013-09-23
    • 2014-02-27
    • 1970-01-01
    • 1970-01-01
    • 2020-03-20
    • 2015-02-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多