mainAxisSize:
-
表示Row在主轴(水平)方向占用的空间,默认是
MainAxisSize.max
,表示尽可能多的占用水平方向的空间,此时无论子widgets实际占用多少水平空间,Row的宽度始终等于水平方向的最大宽度 -
而
MainAxisSize.min
表示尽可能少的占用水平空间,当子widgets没有占满水平剩余空间,则Row的实际宽度等于所有子widgets占用的的水平空间;
mainAxisAlignment:表示子Widgets在Row所占用的水平空间内对齐方式
-
如果mainAxisSize值为
MainAxisSize.min
,则此属性无意义,因为子widgets的宽度等于Row的宽度 -
只有当mainAxisSize的值为
MainAxisSize.max
时,此属性才有意义 -
MainAxisAlignment.start
表示沿textDirection的初始方向对齐, -
如textDirection取值为
TextDirection.ltr
时,则MainAxisAlignment.start
表示左对齐,textDirection取值为TextDirection.rtl
时表示从右对齐。 -
而
MainAxisAlignment.end
和MainAxisAlignment.start
正好相反; -
MainAxisAlignment.center
表示居中对齐。
crossAxisAlignment:表示子Widgets在纵轴方向的对齐方式
-
Row的高度等于子Widgets中最高的子元素高度
-
它的取值和MainAxisAlignment一样(包含
start
、end
、center
三个值) -
不同的是crossAxisAlignment的参考系是verticalDirection,即verticalDirection值为
VerticalDirection.down
时crossAxisAlignment.start
指顶部对齐,verticalDirection值为VerticalDirection.up
时,crossAxisAlignment.start
指底部对齐;而crossAxisAlignment.end
和crossAxisAlignment.start
正好相反;这里面可以这样理解VerticalDirection.down 方向从上往下向下--crossAxisAlignment.start-->顶部对齐