Flutter中的约束工作原理与平常有所不同。小部件本身没有约束。
当在width
/ height
上指定/ 时Container
,就没有限制Container
。你限制了孩子的Container
。
Container
然后将根据其子项的大小自行调整大小。
因此,父级窗口小部件始终对如何确定其后代的大小起最后作用。
如果要解决此问题,则必须使用Align
小部件:
Container( width: 200.0, height: 200.0, child: Align( alignment: Alignment.topLeft, child: Container( width: 50.0, height: 50.0, decoration: BoxDecoration(shape: BoxShape.circle, color: Colors.red), ), ), );
这可能看起来很奇怪和有限。但是这种怪异是Flutter的布局如此强大且可组合的原因。
Flutter中的约束工作原理与平常有所不同。小部件本身没有约束。
当在width
/ height
上指定/ 时Container
,就没有限制Container
。你限制了孩子的Container
。
Container
然后将根据其子项的大小自行调整大小。
因此,父级窗口小部件始终对如何确定其后代的大小起最后作用。
如果要解决此问题,则必须使用Align
小部件:
Container( width: 200.0, height: 200.0, child: Align( alignment: Alignment.topLeft, child: Container( width: 50.0, height: 50.0, decoration: BoxDecoration(shape: BoxShape.circle, color: Colors.red), ), ), );
这可能看起来很奇怪和有限。但是这种怪异是Flutter的布局如此强大且可组合的原因。