Row, Column
Row是横向排列Widget,类属于androi的Linerlayout横向布局,
Column是纵向排列Widget,类属于androi的Linerlayout横向布局
Row({
key
mainAxisAlignment
mainAxisSize
crossAxisAlignment
textDirection
verticalDirection
textBaseline
children
})
```
就针对MainAxisAlignment和CrossAxisAlignment我们来一个案例分析
MainAxisAlignment(主轴上控制子控件)
Row(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: <Widget>[
new Text(
'红茶拿铁', textAlign: TextAlign.center,
style: new TextStyle(
color: Colors.blue)),
new Text(
'卡布奇诺', textAlign: TextAlign.center,
style: new TextStyle(
color: Colors.red)),
],
),
对应的效果为
Row(
children: <Widget>[
Container(
height: double.infinity,
color: Colors.black,
child:
new Text(
'红茶拿铁', textAlign: TextAlign.center,
style: new TextStyle(
color: Colors.white))),
Container(
height: double.infinity,
color: Colors.red,
child:
new Text(
'卡布奇诺', textAlign: TextAlign.center,
style: new TextStyle(
color: Colors.white))),
],
),
对应效果为
我们现在使用MainAxisAlignment试试
我们在row中加上mainAxisAlignment: MainAxisAlignment.spaceBetween(使中间的各个子控件间距相等)
效果如下,不理解,感觉看不出什么,我们再加两个控件看看效果,效果如
,现在清晰了吧。其他几个类似,当然还有一个属性textDirection,他可以控制start的排列始末。
- MainAxisAlignment.spaceBetween:使中间的各个子控件间距相等
- MainAxisAlignment.start:子控件放在主轴开始位置(类似于android默认Linerlayout排列规则)
- MainAxisAlignment.end:将子控件放在主轴的结束位置
- MainAxisAlignment.center:将子控件放在主轴的中间位置
- MainAxisAlignment.spaceEvenly:将主轴空白区域均分,使各个子控件间距相等
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。