ListView 正在扩大我的小部件的宽度

Mat*_*ner 2 flutter

它似乎ListView将其子项的宽度拉伸到 100% 的屏幕宽度。

例如,尽管在下面的示例中明确设置了宽度,但宽度会被拉伸。

ListView.builder(
                shrinkWrap: true,
                itemBuilder: (context, index) {
                  return SizedBox(
                    width: 120,
                    child: Container(
                        margin: EdgeInsets.all(10),
                        width: 100,
                        height: 200,
                        color: Colors.red),
                  );
                },
                itemCount: 3,
              )
Run Code Online (Sandbox Code Playgroud)

我避免这个问题的唯一方法是将返回的小部件包装在 a 中Row,但如果可能的话,我更愿意避免这种情况(不想弄乱代码)。

die*_*per 6

只是包装你的SizedBox内部AlignCenterUnconstrainedBox部件。

在此处查看更多信息Layout Behavior https://api.flutter.dev/flutter/widgets/Container-class.html