【发布时间】:2019-10-08 13:06:09
【问题描述】:
我在flutter stable频道,最近从v1.2.1升级到v1.5.4。在那之后,我的布局不再像以前那样工作了。
我有一个SliverGrid,里面有很多Column 小部件。在Column 内部,我有一个Image.asset() 和一个Text 小部件。我希望网格中的所有图像都具有相同的大小,但是文本可以是一两行长。
在颤振 v1.2.1 中,它曾经像这样工作
ConstrainedBox(
constraints: BoxConstraints.expand(),
child: Container(
padding: EdgeInsets.fromLTRB(8, 0, 8, 0),
child: Column(
children: <Widget>[
Image.asset('src'),
Expanded(
child: Text(
widget.text,
style: TextStyle(
fontWeight: FontWeight.bold,
color: Colors.black),
textAlign: TextAlign.center,
),
),
],
),
),
),
但在 v1.5.4 中执行相同操作时,只有文本的第一行可见,而在两行之前,我可以通过将 mainAxisSpacing: 11.0, 属性设置为更大的值来增加可见行的数量。
我也可以通过将Image.asset() 包装在Expanded 中来获得大致相同的行为。但是即使在摆弄了 flex 值之后,我也无法获得相同的布局。
我设置的示例代码位于Github。如果您想看到效果,显然需要使用两个不同的颤振版本来构建它。
然而,我的问题是,如何在 v1.2.1 和 v1.5.4 中实现相同的行为?
【问题讨论】:
标签: android ios flutter flutter-layout flutter-sliver