dart - ListView 和其他小部件之间的巨大空间

标签 dart flutter

我有一个容器,其中包含一列容器和 ListView .. 以这种方式: 1. 容器 2. ListView 3. 容器 4. ListView ... 我是这样做的:

Container(
        color: Colors.white,
        child: Stack(
          overflow: Overflow.visible,
          children: <Widget>[
            new Column(
              crossAxisAlignment: CrossAxisAlignment.stretch,
              children: <Widget>[
                Container(
                  child: Padding(
                    padding: EdgeInsets.only(
                        right: 20.0, left: 20.0, top: 5.0, bottom: 5.0),
                    child: new Text(
                      "header1",
                    ),
                  ),
                  color: Color(0xfff8f8f8),
                ),
                Expanded(
                  child: ListView.builder(
                    itemCount: titles.length,
                    itemBuilder: (BuildContext context, int index) {
                      return new Padding(
                        padding: EdgeInsets.only(
                            left: 20.0, right: 20.0, top: 15.0),
                        child: .......
                      );
                    },
                  ),
                ),
                Container(
                  child: Padding(
                    padding: EdgeInsets.only(
                        right: 20.0, left: 20.0, top: 5.0, bottom: 5.0),
                    child: new Text(
                      "header2",
                    ),
                  ),
                  color: Color(0xfff8f8f8),
                ),
                Expanded(
                  child: ListView.builder(
                    itemCount: titles.length,
                    itemBuilder: (BuildContext context, int index) {
                      return new Padding(
                        padding: EdgeInsets.only(
                            left: 0.0, right: 0.0, top: 0.0),
                        child: .....
                      );
                    },
                  ),
                ),
              ],
            ),
          ],
        ),
      ),

我无法从 ListView 中删除 Expanded .. 如果我这样做了, ListView 将不会出现在列中..

此外,我尝试使用 Flexible,但同样的问题存在..

这就是我需要的..但​​是第一个 ListView 和第二个容器之间有一个巨大的空间..如何删除这个空白空间并根据内容的高度使 ListView 高度换行?

最佳答案

试试这个代码

ListView(
    shrinkWrap: true,
    children: <Widget>[
      Container(
        child: Padding(
          padding: EdgeInsets.only(
              right: 20.0, left: 20.0, top: 5.0, bottom: 5.0),
          child: new Text(
            "header1",
          ),
        ),
        color: Color(0xfff8f8f8),
      ),
      ListView.builder(
        physics: NeverScrollableScrollPhysics(),
        shrinkWrap: true,
        itemCount: titles.length,
        itemBuilder: (BuildContext context, int index) {
          return new Padding(
              padding: EdgeInsets.only(
                  left: 20.0, right: 20.0, top: 15.0),
              child: ListTile(title: Text(titles[index]),)
          );
        },
      ),
      Container(
        child: Padding(
          padding: EdgeInsets.only(
              right: 20.0, left: 20.0, top: 5.0, bottom: 5.0),
          child: new Text(
            "header2",
          ),
        ),
        color: Color(0xfff8f8f8),
      ),
      ListView.builder(
        physics: NeverScrollableScrollPhysics(),
        shrinkWrap: true,
        itemCount: titles.length,
        itemBuilder: (BuildContext context, int index) {
          return new Padding(
              padding: EdgeInsets.only(
                  left: 0.0, right: 0.0, top: 0.0),
              child: ListTile(title: Text(titles[index]),)
          );
        },
      ),
    ],
  ),

关于dart - ListView 和其他小部件之间的巨大空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53943905/

相关文章:

flutter - 如何更改独特的RaisedButton的颜色?

flutter - 抛出了另一个异常 : 'package:flutter/src/widgets/navigator.dart' : Failed assertion: line 3803 pos 12: '_history.isNotEmpty' : is not true

firebase - 在Flutter项目中找不到Runner/Runner目录

Flutter 的 AutomaticKeepAliveClientMixin 在 navigator.push 之后不保持页面状态

flutter - 在Flutter中,如何使按钮和文本框高度相同?

Dart polymer .dart dart2js

Flutter - PopupMenuItem - 如何获取值

javascript - 不同的 *Target 属性的目的是什么?

flutter - 如何为 widget(view) 启动 ViewModel

dart - 在Dart中将范围对象保存在范围之外