为啥 crossAxisAlignment 和 mainAxisAlignment 在行和列中不同

Posted

技术标签:

【中文标题】为啥 crossAxisAlignment 和 mainAxisAlignment 在行和列中不同【英文标题】:why crossAxisAlignment and mainAxisAlignment is different in row and column为什么 crossAxisAlignment 和 mainAxisAlignment 在行和列中不同 【发布时间】:2021-03-23 15:38:39 【问题描述】:

众所周知,

对于行:

mainAxisAlignment = 水平轴 crossAxisAlignment = 垂直轴

对于列:

mainAxisAlignment = 垂直轴 crossAxisAlignment = 水平轴

但我的问题是为什么这两个属性在这两个小部件中表现不同, 对于行和列。

【问题讨论】:

简单的行横排,列竖排,仅此而已 正如@basudevnayak 所说,这是因为两者提供的对齐选项对于行和列的轴是相同的,因此它们的表现不同。例如,取行和列的主轴,分别是水平轴和垂直轴,这是放置小部件的轴,因此对齐属性必须相同。 【参考方案1】:

这真的很简单..主轴总是在列或行的方向上,而交叉轴总是在列和行的相反方向上。所以对于 column 和 row 是不同的。 Fr 列主轴是垂直的,横轴是水平的,反之亦然。希望你能理解!

【讨论】:

【参考方案2】:

根据我的理解,行小部件总是水平增长,列垂直增长,所以它清除 MainaxisAlignment 在行的情况下是水平的,而对于列 MainaxisAlignMent 是垂直的

【讨论】:

以上是关于为啥 crossAxisAlignment 和 mainAxisAlignment 在行和列中不同的主要内容,如果未能解决你的问题,请参考以下文章

flutter MainAxisAlignment和CrossAxisAlignment

颤振 crossAxisAlignment 与 mainAxisAlignment

flutter Column 控件靠左显示

Flutter 疑难杂症(一)

如何在list.generate中展开元素

扩展且灵活,不会填满整行