Skip to content

7. Row Widget

aiyayao edited this page Apr 27, 2020 · 6 revisions

用于水平方向布局的组件,类似于 ListView 中的水平布局方式,但是 Row 组件下的水平布局不能够进行水平滚动,所以超出部分就会存在不可见的问题,所以要根据自身需求来选择合适的水平布局组件。

构造方式

  • new Row()

new Row()

语法如下

child: new Row(
  children: <Widget> [
    任意子组件
  ]
)

常用属性

mainAxisAlignment

对于 Row 组件,主轴的方向为水平方向。属性值如下

  • MainAxisAlignment.start,按主轴的起始位置对齐(默认)。
  • MainAxisAlignment.center,在主轴方向居中对齐。
  • MainAxisAlignment.end,按主轴的末尾位置对齐。
  • MainAxisAlignment.spaceAround,将主轴方向上的空白区域均分,子组件之间空白区域相等,主轴两端各为 1/2 的空白区域。
  • MainAxisAlignment.spaceBetween,将主轴方向上的空白区域均分,子组件之间空白区域相等,主轴两端不留空白。
  • MainAxisAlignment.spaceEvenly,将主轴方向上的空白区域均分,子组件之间空白区域相等,包括主轴两端。

crossAxisAlignment

对于 Row 组件,交叉轴的方向为垂直方向。属性值如下

  • CrossAxisAlignment.start,按交叉轴的起始位置对齐(默认)。
  • CrossAxisAlignment.center,在交叉轴的方向居中对齐。
  • CrossAxisAlignment.end,按交叉轴的末尾位置对齐。
  • CrossAxisAlignment.stretch,将子组件填满交叉轴方向。
  • CrossAxisAlignment.baseline,在交叉轴方向,使得子组件按 baseline 对齐。

mainAxisSize

用于设置主轴方向占有空间的值。属性值如下

  • MainAxisSize.max,最大化主轴方向的可用空间(默认)。
  • MainAxisSize.min最小化主轴方向的可用空间。

实现效果:

Row Widget

Clone this wiki locally