我对 crossAxisAlignment和 mainAxisAlignment感到困惑。有人能用简单的语言解释一下吗?
crossAxisAlignment
mainAxisAlignment
Row/Column与一个轴相关联:
Row
Column
mainAxisAlignment是项目在该轴上对齐的方式。 crossAxisAlignment是项目在另一个轴上对齐的方式。
当您使用 Row时,它的子元素以水平方向排列。所以 Row的主轴是水平的。 在 Row中使用 mainAxisAlignment可以使行的子级水平对齐(例如,左、右)。 与 Row主轴的交叉轴是垂直的。因此在 Row中使用 crossAxisAlignment可以定义它的子元素如何垂直对齐。
在 Column里,情况恰恰相反。列的子级垂直布局,从上到下(每个默认值)。所以它的主轴是垂直的。这意味着,在 Column中使用 mainAxisAlignment使其子元素垂直对齐(例如,顶部,底部) ,而 crossAxisAlignment定义了子元素在该列中的水平对齐方式。
第一排:
水平轴 垂直轴
专栏:
垂直轴 水平轴
图像来源
这两张图片清楚地显示了 MainAxisAl缘和 CrossAxisAl缘的含义。
(图片来自网络)
在 专栏里,
在 划船里,
取决于你如何把你的内容放在屏幕上。我们需要使用主轴和横轴对齐属性。
更多基本的布局概念: https://flutter.dev/docs/codelabs/layout-basics
在 划船主轴对齐运行水平和横轴对齐运行垂直。 在 纵队主轴对齐运行垂直和横轴对齐运行水平。