Flutter - 采用其子项高度的列
Posted
技术标签:
【中文标题】Flutter - 采用其子项高度的列【英文标题】:Flutter - Column that takes the height of its children 【发布时间】:2020-02-02 20:10:30 【问题描述】:是否可以垂直排列子级,使父级采用其子级的大小?
更具体地说,这是我想要做的:
让一个图标和一个文本垂直对齐,它们之间有一个小空间,在一个固定高度的矩形内居中。
我希望文本和图标的垂直容器的大小与其子项一致。 像 FlatButton.icon 这样的东西,只有垂直而不是水平。
对于那个内部的垂直容器,我发现的只有 Column 和 ListView,它们都采用了它们在父级中可以获得的所有高度,而不是采用它们的子级的高度。
【问题讨论】:
【参考方案1】:该示例代码应该可以完成这项工作:
Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Center(
child: Container(
child: Center(
child: Container(
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Icon(
Icons.star,
size: 50.0,
),
SizedBox(
height: 30,
),
Text(
'Some text',
textAlign: TextAlign.center,
)
],
),
color: Colors.blue,
width: 120)),
width: 300,
height: 300,
color: Colors.green),
),
],
)
感谢mainAxisSize:MainAxisSize.min,
【讨论】:
我完全忘记了这个属性。谢谢。以上是关于Flutter - 采用其子项高度的列的主要内容,如果未能解决你的问题,请参考以下文章
将 Text 小部件添加到其子项映射到 Flutter 的 ListView?