一尘不染

Flutter Container()vs SizedBox()用于虚拟空

flutter

我对此感到很好奇。我已经看到了许多Container()用于虚拟隐藏小部件的示例,例如,加载完成后,然后单击we setState(() { _isLoaded = true; });。所以我们可以使用这样的状态,对吗?

return _isLoaded ? Container() : LoaderWidget();

还是使用SizedBox()实际上更好,因为它不需要太多参数,并且无论如何都经常用于填充?

return _isLoaded ? SizedBox() : LoaderWidget();

还是我错了?


阅读 546

收藏
2020-08-13

共1个答案

一尘不染

如果用作占位符:

容器 ,如果插件没有子,没有高度,没有宽度,没有任何限制,和没有对准,但父提供有界的约束,那么容器膨胀,以适应由父提供的约束。

SizedBox 如果窗口小部件没有子级,没有高度,没有宽度,则宽度和高度为零。

因此,SizedBox()更多地用作语法占位符。

另外,请注意,SizedBox()const构造函数,而Container()不是。第一个允许编译器创建更有效的代码。

2020-08-13