flutter - 如何在 flutter 中向列添加滚动

我在一个列中创建了一个包含多个小部件的屏幕。我得到了错误。然后我更新了列中容器的高度,然后屏幕不会滚动,因为它有一些固定的大小。

然后我从列移动到 ListView 但我的小部件仍然不滚动。

  new ListView(
          shrinkWrap: true,
          children: <Widget>[

            // Author information
            new Container(
              height: MediaQuery
                  .of(context)
                  .size
                  .height * .075,
              width: double.infinity,
              padding: const EdgeInsets.only(
                  top: 10.00, right: 10.00),
              child: new Row(

                children: <Widget>[

                  new CircleAvatar(

                    backgroundColor: new Color(0xFF535386),
                    foregroundColor: new Color(0xFFF4F4F4),
                    backgroundImage: new NetworkImage(
                        _feed.authorImageUrl),
                    radius: 30.00,
                    child: new Text(
                        _feed.authorName.substring(0, 1)
                            .toUpperCase()),
                  ),

                  new Padding(padding: EdgeInsets.only(
                      bottom: 5.00, top: 2.00, left: 5.00),
                      child: new Column(
                        crossAxisAlignment: CrossAxisAlignment
                            .start,
                        children: <Widget>[
                          new Text(
                            _feed.authorName,
                            textAlign: TextAlign.start,
                            softWrap: true,
                            style: new TextStyle(
                              fontSize: 20.0,

                            ),
                          ),
                          new Text(_feed.dateTime,
                            textAlign: TextAlign.start,),
                        ],
                      )),

                ],

              ),
            ),

            // Title

            new Padding(padding: const EdgeInsets.only(
                top: 10.00, left: 10.00),
              child: new Text(
                _feed.title, textAlign: TextAlign.start,),
            ),

            // content

            new Container(
              child: new Text(
                _feed.content, textAlign: TextAlign.start,),
            ),
          ],
        ),

最佳答案

您的 ListView 似乎很好,但我猜它被包裹在一个固定大小的小部件中,如 ColumnRow(黄色黑色错误表示内容大于可用空间),因此您应该将 ListView 包装在 Expanded 小部件中,如下所示:

new Expanded(
    child: new ListView(
      shrinkWrap: true,
      children: <Widget>[
        //Your content
      ],
    )
)

https://stackoverflow.com/questions/51589948/

相关文章:

c# - 将 Flutter 前端与 Android 和 iOS 的 .NET Core 后端相结合

android-studio - Flutter 如何在 Android Studio 中制作发布版

dart - flutter 列不展开

ios - flutter : Not Connecting to IOS Simulator in

javascript - Flutter 是否使用 Javascript 引擎之类的东西,例如 Re

flutter - 构造函数中的 Key 参数是什么

dart - 在 Flutter 中保持响应的同时制作持久的背景图像

dart - 在 Dart 的 Cloud Firestore 中添加文档后如何获取文档 ID

java - Flutter 无法从 url 加载图片

dart - Flutter:如何获取 http 请求的上传/下载进度