【问题标题】:Flutter: Is the Column widget constrained or unconstrained vertically?Flutter:Column小部件是垂直约束还是不受约束?
【发布时间】:2019-07-10 14:53:50
【问题描述】:

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

根据Column小部件的文档:

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

据我了解,这意味着 Column 小部件在垂直方向上受到约束(或有界)。

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

如果一个维度是不受约束的并且对应的尺寸因子是 null 则该小部件将匹配其子级在该维度上的大小。

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

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

【问题讨论】:

    标签: flutter flutter-layout


    【解决方案1】:

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

    列本身从其父级接收的框约束不同于它传递给其子级的约束:列的高度可能受到其父级的限制,但它为其子级提供了无限(不受约束)的高度。因此..

    据我了解,这意味着 Column 小部件在垂直方向上受到约束(或有界)。

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

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

    另一方面,不是列本身,而是它的子级不受高度限制。这就解释了为什么 Center 会在垂直方向上缩小以匹配其子项。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-02-24
      • 1970-01-01
      • 1970-01-01
      • 2011-01-28
      • 2011-04-28
      • 2018-12-16
      • 2016-10-17
      相关资源
      最近更新 更多