Expanded和Spacer在颤振方面有什么区别?为什么颤振团队在我们已经拥有Spacer的时候加入了Expanded?
发布于 2019-06-01 03:08:39
Spacer和Expanded所做的工作是相同的,即它们填补了小部件(如Row或Column )中的剩余空间。在Spacer之前,我们必须使用
Expanded(child: Container())这不是很好。对于Spacer,我们只需使用
Spacer()因此,通过使用Spacer,我们无法编写更多的代码,而且它还清楚地表明,我们只是在使用它来填充剩余的空间。它们都具有相同的属性flex,默认为1。唯一的区别是我们没有child属性,这是有意义的。事实上,Spacer是
Expanded(child: SizedBox.shrink());TL;博士
Spacer() 等于
Expanded(child: Container())发布于 2019-06-01 03:33:08
Expanded让它的子部件占据空间。
Spacer本身占有空间。
如果您查看Spacer,您会发现它是一个包装Expanded的包装器,带有一个虚拟子包。
Spacer真的有必要吗?可能不会。在另一个宇宙中,Expanded可能有一个可选的child参数。
https://stackoverflow.com/questions/56403570
复制相似问题