简而言之颤振布局

在与Flutter的Layout System挣扎了一段时间之后,看来我已经过了aha的时刻,所以让我们来谈谈。

关键概念

Flutter的版式系统中有一些关键概念。 了解它们对于帮助理解布局至关重要。

无限约束

最大宽度或最大高度都设置为double.INFINITY

ScrollView及其后代(如ListViewGridView是最常见的,其他可以将widthheight设置为double.INFINITY小部件double.INFINITY也很重要。 有时它们被称为尽可能大。

柔性

当处于受限约束中时,请尝试在该方向上尽可能大。

在不受限制的情况下,尝试使孩子适应那个方向。

行和列是Flex实例,如果需要更多控制,还可以使用Flex小部件。 它们可以与Flexible小部件一起使用,但不限于此。 (“ Column的“ Text小部件完全可以。)

灵活

在Flex中使用它。 Flexible声明要使用的空间百分比。

flex = 1表示1/all ,如果all = 1 + 1 ,则为50%。

Expanded最常被视为Flexible实例,它将填充主轴上的可用空间。 (即,水平表示Row ,垂直表示Column