当我们使用行(row)的时候,子组件常常因为高度的不同,导致各个子组件里面的内容不能对齐。这个时候我们可以使用IntrinsicHeight来保持row中各个子组件高度一致,从而便于纵向居中对齐。
new IntrinsicHeight(
child: new Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
new Container(color: Colors.blue, width: 100.0),
new Container(color: Colors.red, width: 50.0,height: 50.0,),
new Container(color: Colors.yellow, width: 150.0),
],
),
);
java
//一行3个控件,要平分放
mainAxisAlignment: MainAxisAlignment.spaceBetween,
mainAxisSize: MainAxisSize.max,
//交叉轴的布局方式,对于column来说就是水平方向的布局方式
crossAxisAlignment: CrossAxisAlignment.center,
//就是字child的垂直布局方向,向上还是向下
verticalDirection: VerticalDirection.down,
children: <Widget>[
Text('我是第1个'),
Text('我是第2个'),
Text('我是第3个'),
],
顾名思义只是一个间距控件,可以用于调节小部件之间的间距,它有一个flex可以进行设置
Expanded会尽可能的充满分布在Row, Column, or Flex的主轴方向上
Flexible也是为小部件提供空间的,但是不会要求子空间填满可用空间