【Flutter】布局——BoxConstraints(盒约束)

BoxConstraints

作为Container的属性,设置Container的宽高,以约束子widget的大小

可类比web中给盒子设置最大宽高的minWidthmaxWidthminHeightmaxHeight

示例

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显示会在此范围内自适应,那么问题来了

你可能感兴趣的:(flutter)