ConstrainedBox用于对子组件添加额外的约束。如想让子组件的最小高度是100像素,用const BoxConstraints(minHeight: 100.0)作为子组件的约束
实现一个最小高度为100,宽度尽可能大的红色容器。
ConstrainedBox(
constraints: BoxConstraints(
minWidth: double.infinity,
minHeight: 100,
),
child: Container(
height: 10, //指定高度为10 但实际设置的最小高度为100 所以高度为100
child: DecoratedBox(
decoration: BoxDecoration(
color: Colors.red,
),
),
),
),
效果
BoxConstraints用于设置限制条件,定义如下:
const BoxConstraints({
this.minWidth = 0.0, //最小宽度
this.maxWidth = double.infinity, //最大宽度
this.minHeight = 0.0, //最小高度
this.maxHeight = double.infinity //最大高度
})
oxConstraints还定义了一些便捷的构造函数,用于快速生成特定限制规则的BoxConstraints,BoxConstraints.tight(Size size),它可以生成给定大小的限制;
SizedBox
SizedBox用于给子元素指定固定的宽高。
Padding(
padding: const EdgeInsets.fromLTRB(0, 20, 0, 0),
//设定宽和高为100
child: SizedBox(
width: 100,
height: 100,
child: DecoratedBox(
decoration: BoxDecoration(
color: Colors.purple,
),
),
),
),
效果