Flutter 中 Expanded
和 Spacer
有什么区别?为什么 Flutter 团队已经在 Expanded
的情况下添加了 Spacer
?
最佳答案
Spacer
和 Expanded
执行相同的工作,即它们填充小部件中的剩余空间,例如 Row
或 Column
。在 Spacer
之前,我们必须使用
Expanded(child: Container())
这不是很好。使用 Spacer
我们只需要使用
Spacer()
所以,使用 Spacer
,我们可以阻止我们编写更多的代码,并且它也清楚地表明我们只是在使用它来填充剩余的空间。它们都具有相同的 flex
属性,默认为 1
。唯一的区别是我们没有有意义的 child
属性。其实Spacer
就是
Expanded(child: SizedBox.shrink());
TL;DR
Spacer()
等价于
Expanded(child: Container())
关于 flutter 间隔器与扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56403570/