我试图在父列中实现一个列,但列的第一个子列应该在列的父列中垂直居中,通过使用MainAxisAlignment.center,整个列将居中,如果列中有多个子列,则第一个子列不会居中。
以下是我尝试过的方法。
child: CircleAvatar(
radius: 146,
backgroundColor: Colors.black87,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Text('11:06',
style: TextStyle(
fontSize: 70,
)),
Icon(Icons.restart_alt),
],
),
),
这是我得到的。enter image description here正如你所看到的,文本不在中心,因为图标把它向上推了一点。
3条答案
按热度按时间mwg9r5ms1#
您可以将您的列 Package 在另一个列中,该列包含一个
Expanded
小部件,后面跟着您的列,也 Package 在一个Expanded小部件中。sqxo8psd2#
你可以使用一些填充。我不知道有什么方法可以得到父对象的大小,并像CSS中那样做50%,所以你必须记住这一点。但是你可以用
MediaQuery.of(context).size.height
相对于视口高度进行计算。rqcrx0a63#
在
Stack
内部使用Align
(不完美,仍需调整)。