线性布局
所谓线性布局,就是指沿着水平防线或垂直方向排列子组件的局部方式。在 Flutter
中,主要通过 Row
和 Column
这两个组件来实现线性布局。Row
和 Column
都是继承自 Flex
(后面文章介绍)。
对于线性布局而言,具有主轴和纵轴之分,如果布局是沿水平方向,那么主轴就是指水平方向,而纵轴就是指垂直方向;如果布局沿垂直方向,那么主轴就是指垂直方向,而纵轴就是水平方向。MainAxisAlignment
和 CrossAxisAlignment
分别代表主轴对齐和纵轴对齐。
Row
Row
意为行,其子 Widget
在水平方向上排列。先来看定义:
Row({
...
TextDirection textDirection,
MainAxisSize mainAxisSize = MainAxisSize.max,
MainAxisAlignment mainAxisAlignment = MainAxisAlignment.start,
VerticalDirection verticalDirection = VerticalDirection.down,
CrossAxisAlignment crossAxisAlignment = CrossAxisAlignment.center,
List<Widget> children = const <Widget>[],
})
<