颤振:Column小部件是垂直约束还是不受约束?

问题描述 投票:0回答:1

我们是否应该考虑Column小部件在垂直方向受约束或不受约束?

根据Column小部件的文件:

当列的内容超过可用空间量时,列溢出,内容被剪切。

据我所知,这意味着Column小部件被垂直约束(或限制)。

另一方面,Center小部件的文档说:

如果维度不受约束且相应的大小因子为null,则窗口小部件将匹配其在该维度中的子项大小。

当我将Center小部件放在Column的子节点时,会发生的是Center小部件缩小其高度以匹配其子节点的高度。根据上述文档,这意味着Column小部件在垂直方向上不受约束。

那么哪个是正确的? Column小部件是否在垂直方向受到约束或不受约束?

flutter flutter-layout
1个回答
3
投票

我认为你将父约束与子约束混合在一起。

列本身从其父节点接收的框约束与它传递给其子节点的框约束不同:列可能由其父节点在高度上约束,但它为其子节点提供无限(无约束)高度。因此..

据我所知,这意味着Column小部件被垂直约束(或限制)。

是的,该列受其父级约束。

根据上述文档,这意味着Column小部件在垂直方向上不受约束。

另一方面,不是柱子本身,而是它的孩子,不受高度限制。这解释了为什么Center在垂直方向收缩以匹配其孩子。

© www.soinside.com 2019 - 2024. All rights reserved.