我一直想知道为什么人们应该使用[Expanded] / [Flexible]
flex而不是[Align]
对齐?您可以使用[Align]精确对齐您的小部件,甚至可能避免使用[Padding]
。
让我们从另一个角度来看,使用[Expanded] / [Flexible]
的flex比[Align]
更高效,更快?
不确定你指的是什么。 Expanded
用于(或多或少)“选择”Row
/ Column
中的哪个小部件应该填充剩余的空间。虽然Align
只是将孩子置于给定的对齐位置。
Expanded/Flex
和Align
之间没有可比性。请看下面的代码片段。
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
它将占用左侧空间。