为什么在[Align]对齐方式上使用[Expanded] / [Flexible] flex?

时间:2019-04-07 21:23:55

标签: user-interface dart flutter alignment

我一直想知道为什么应该在[Expanded] / [Flexible]对齐方式上使用[Align] flex?您可以使用[Align]精确对齐窗口小部件,甚至可以避免使用[Padding]

让我们从另一个角度来看它,使用[Expanded] / [Flexible]的flex比[Align]更有效,更快吗?

2 个答案:

答案 0 :(得分:0)

不确定您指的是什么。 Expanded用于(或多或少)“选择” Row / Column中的哪个窗口小部件应填充剩余的空间。 Align只是按照给定的对齐方式将孩子放在自己的内部。

答案 1 :(得分:0)

Expanded/FlexAlign之间没有比较。看一下下面的代码片段。

 Column(
  children: [
    Container(color: Colors.blue, height: 200),
    Align(child: Container(color: Colors.green)), // doesn't show anything
    Expanded(child: Container(color: Colors.orange)), // shows up in the remaining space
  ],
);

Align作为Container的父级不会在屏幕上显示任何内容,但是如果您使用Expanded/Flex,它将占用剩余的空间。