【发布时间】:2021-01-13 05:10:15
【问题描述】:
即使使用填充设置为 0 的简单容器,列小部件也会在连续小部件之间显示额外的空间。我尝试使用 SizedBox,将 mainAxisSize 设置为 min,但似乎没有任何效果。 此外,此问题仅出现在 Android OS 中,而不会出现在 Web 或 iOS 中。
我的代码:
Scaffold(
backgroundColor: Colors.yellow,
appBar: AppBar(
title: Text(title),
),
body: Center(
child: Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Container(
padding: EdgeInsets.zero,
height: 50,
color: Colors.black,
),
Container(
padding: EdgeInsets.zero,
height: 100,
color: Colors.black,
),
SizedBox(
height: 20,
),
Container(
height: 150,
color: Colors.black,
)
],
),
),
)
我已将图像稍微放大到右侧以更好地显示间隙。两个容器之间出现了一行空格。我在柱子下方放置了另一个高度为 150 的容器,以显示完全不透明和空间之间的差异。我在 Pixel 3 Emulator 和 OnePlus 6T 设备上重新创建了相同的行为。
谁能帮我解决这个问题。我知道这可以使用 Stack 和 Positioned 解决,但我希望找出这是 Flutter SDK 中的问题还是可修复的小部件行为。
【问题讨论】:
-
老实说对我来说感觉像是一个错误,在下面发布了一个可能的解决方法。
标签: android flutter flutter-layout flutter-web