Flutter - 获取其子项高度的列

Roy*_*hal 0 flutter flutter-layout

是否可以以父级将采用子级大小的方式垂直排列子级?

更具体地说,这就是我想要做的:

让一个图标和一个文本垂直对齐,它们之间有一个小间距,并在具有固定高度的矩形内居中。

我希望文本和图标的垂直容器的大小根据其子项而定。像 FlatButton.icon 这样的东西,只有垂直而不是水平。

对于那个内部垂直容器,我发现的只是 Column 和 ListView,它们都采用它们在父级中可以获得的所有高度,而不是采用它们的子级的高度。

小样

小智 5

该示例代码应该可以完成这项工作:

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),
          ),
        ],
      )
Run Code Online (Sandbox Code Playgroud)

感谢mainAxisSize:MainAxisSize.min,