作为Container
的属性,设置Container
的宽高,以约束子widget的大小
可类比web中给盒子设置最大宽高的minWidth
,maxWidth
,minHeight
,maxHeight
;
示例
Container(
constraints: BoxConstraints(0, 0, 100, 100),
child: Text("你好"),
);
BoxConstraints.tight(Size(width, height))
严格约束,最大边界和最小边界相同,即为固定了盒子的宽高。
BoxConstraints.tight(Size(100, 100));
BoxConstraints.loose(Size(maxWidth, maxHeight))
松散约束,盒子的最小边界为0,只需设置盒子的最大边界
BoxConstraints.loose(Size(300, 300))
这是最大值固定的情况,当需要设置最大边界屏幕的时候,需要下面的方式
BoxConstraints.tightFor()
松散约束,盒子的最小边界为0,盒子的最大边界为无限,即屏幕
BoxConstraints.tightFor()
BoxConstraints(minWidth, maxWidth, minHeight, maxHeight)
有界约束,设置四个边界的值
BoxConstraints(100, 300, 100, 300)
当设置最大边界为double.infinity
时,为无界约束
BoxConstraints(100, double.infinity, 100, 300)
BoxConstraints.expand()
无限约束,最大最小都为无限值,即铺满了屏幕
BoxConstraints.expand()
constraints
是限定盒子范围的属性,widget显示会在此范围内自适应,那么问题来了