我认为答案可能很简单,但我在这里找不到。 当不是支架的子代时,为什么忽略了容器的尺寸限制。因此,这将显示预期的结果:
return Scaffold(
body: Container(
height: 10,
width: 10,
color: Colors.green,
),
);
但是会显示全屏容器:
return Container(
height: 10,
width: 10,
color: Colors.green,
);
请赐教!
答案 0 :(得分:0)
这是由于约束条件不同所致。
考虑800x600的屏幕。
传递给runApp
的第一个小部件将受到以下约束:
BoxConstraint(
minWidth: 800,
maxWidth: 800,
minHeight: 600,
maxHeight: 600,
)
这将强制该小部件填充屏幕。
从那里,通过添加Scaffold
,它将“松开”约束,然后变为:
BoxConstraint(
minWidth: 0,
maxWidth: 800,
minHeight: 0,
maxHeight: 600,
)
这允许小部件小于全屏。
如果您想要的行为类似于Scaffold
,但没有它,则可以执行以下操作:
runApp(
Center(
child: Container(color: Colors.red, width: 42, height: 42),
),
);