Flutter 布局练习之Row组件
2019/12/25 8:33:41 | 阅2065 | 来源:好空间网络 [打印] [关闭] |
class MyRow extends StatelessWidget{ //row源码 // Row({ // Key key, // MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start, // 主轴对齐方式 // MainAxisSize mainAxisSize = MainAxisSize.max, // 水平方向尽可能大 // CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center, // 交叉处对齐方式 // TextDirection textDirection, // 水平方向子widget的布局顺序(默认为系统当前Locale环境的文本方向(如中文、英语都是从左往右,而阿拉伯语是从右往左)) // VerticalDirection verticalDirection = VerticalDirection.down, // 表示Row纵轴(垂直)的对齐方向 // TextBaseline textBaseline, // 如果上面是baseline对齐方式,那么选择什么模式(有两种可选) // List<Widget> children = const <Widget>[], // }) @override Widget build(BuildContext context) { return Row( //max为占用最大的空间,min为占用最小的空间 mainAxisSize:MainAxisSize.max, //当MainAxisSize.max 时候这个才生效, 这里设置子组件的对齐方式 start,end,center,spaceBetween,spaceAround,spaceEvenly mainAxisAlignment:MainAxisAlignment.spaceEvenly, //表示子Widgets在纵轴方向的对齐方式,需要子组件高度不同才有效果 有 start,center,end,stretch4个值 crossAxisAlignment:CrossAxisAlignment.center, //文字的排列方式 一般都是从左到右,还有个值rtl textDirection:TextDirection.ltr, children: <Widget>[ Container( width: 80, height: 50, color: Color(0xffff4400), child: Text("data"), ), Container( width: 80, height: 80, color: Color(0xffff4400), child: Text("data"), ), Container( width: 80, height: 120, color: Color(0xffff4400), child: Text("data"), ) ], ); } }
效果图: