flutter如何和父组件一样宽
在 flutter 里,可以使用下面几种方式来让子组件和父组件宽度一样。
1. SizedBox.expand
SizedBox.expand
是SizedBox
的构造函数,官方的说明如下:
Creates a box that will become as large as its parent allows.
方法的实现如下,由此不难看出,如果只希望宽或者高和父组件一样,expand
并不适用。
const SizedBox.expand({ Key? key, Widget? child })
: width = double.infinity,
height = double.infinity,
super(key: key, child: child);
2. SizedBox手动指定宽度
除了使用SizedBox.expand
,也可以在构造函数里指定width
。
SizedBox(
width: double.infinity,
child: Column(...),
)
3. 使用ConstrainedBox指定最小宽度
ConstrainedBox(
constraints: const BoxConstraints(minWidth: double.infinity),
child: Column(...),
)
4. 使用Container
除了宽和高,还需要指定其他属性时,SizedBox
无法满足需求,这种情况可以使用Container
。
Container(
width: double.infinity,
// height: double.infinity,
child: Column(...),
)