Dart 滚动时水平ListView.builder溢出宽度绑定

Dart 滚动时水平ListView.builder溢出宽度绑定,dart,flutter,flutter-layout,Dart,Flutter,Flutter Layout,我试图使用ListView.builder在堆栈中显示水平列表,但如果我设置itemCount:10,在滚动ListView时遇到了这个奇怪的错误。如果我设置itemCount:20,ListView会像正常情况一样滚动 我已经在模拟器(Galaxy Nexus 720x1280 android 5.0)和真实设备(诺基亚7 plus、android 9.0)上进行了测试。我怎样才能解决这个问题 class BugPage extends StatelessWidget { @overrid

我试图使用ListView.builder在堆栈中显示水平列表,但如果我设置
itemCount:10,在滚动ListView时遇到了这个奇怪的错误。如果我设置
itemCount:20
,ListView会像正常情况一样滚动

我已经在模拟器(Galaxy Nexus 720x1280 android 5.0)和真实设备(诺基亚7 plus、android 9.0)上进行了测试。我怎样才能解决这个问题

class BugPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: SafeArea(
        child: Stack(
          children: <Widget>[
            Positioned(
              left: 20.0,
              right: 20.0,
              height: 60.0,
              bottom: 70.0,
              child: Row(
                mainAxisSize: MainAxisSize.max,
                crossAxisAlignment: CrossAxisAlignment.center,
                children: <Widget>[
                  Expanded(
                    child: ListView.builder(
                      scrollDirection: Axis.horizontal,
                      itemCount: 10, // Overflow when scroll.
                      itemBuilder: (BuildContext context, int index) {
                        return Padding(
                          padding: const EdgeInsets.symmetric(
                            horizontal: 3.0,
                          ),
                          child: Container(
                            width: 40.0,
                            height: 40.0,
                            color: Colors.red,
                            child: Center(child: Text("$index")),
                          ),
                        );
                      },
                    ),
                  ),
                  SizedBox(width: 10.0),
                  FloatingActionButton(
                    backgroundColor: Colors.blue,
                    onPressed: () {},
                    child: new Icon(
                      Icons.add,
                      color: Colors.black,
                    ),
                  ),
                ],
              ),
            ),
          ],
        ),
      ),
    );
  }
}
class BugPage扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:安全区(
子:堆栈(
儿童:[
定位(
左:20.0,
右图:20.0,
身高:60.0,
底部:70.0,
孩子:排(
mainAxisSize:mainAxisSize.max,
crossAxisAlignment:crossAxisAlignment.center,
儿童:[
扩大(
子项:ListView.builder(
滚动方向:轴水平,
itemCount:10,//滚动时溢出。
itemBuilder:(构建上下文,int索引){
返回填充(
填充:const EdgeInsets.symmetric(
水平:3.0,
),
子:容器(
宽度:40.0,
身高:40.0,
颜色:颜色,红色,
子:居中(子:文本(“$index”),
),
);
},
),
),
尺寸箱(宽度:10.0),
浮动操作按钮(
背景颜色:Colors.blue,
按下:(){},
孩子:新图标(
Icons.add,
颜色:颜色,黑色,
),
),
],
),
),
],
),
),
);
}
}
预期产出:

实际产量:


还有一个

我尝试了你的代码,并用更大的intemcount运行,没有问题,但我有一个建议,更改

SizedBox(宽度:10.0)

按钮周围的填充物

Padding(
  padding: const EdgeInsets.only(left: 10),
  child: FloatingActionButton(
    backgroundColor: Colors.blue,
    onPressed: () {},
    child: new Icon(
      Icons.add,
      color: Colors.black,
    ),
  )
)

在我更新到最新版本后,这个bug似乎出现在旧版本中。一切正常。

您可以添加错误日志吗?我对此没有任何异议code@AmolG控制台日志没有显示任何错误,只是在我的模拟器中滚动时listview UI溢出最大宽度限制。请观看我上传的新图片以了解更多信息。从图片1到图片2的唯一更改是
itemCount:10
itemCount:20
?这两个代码之间还有其他变化吗?我试过你的代码,它没有显示溢出,10或20,你能告诉我你是如何调用
错误页面的吗
试着改成Flexible而不是Expanded