跳到主要内容

flutter如何和父组件一样宽

 在 flutter 里,可以使用下面几种方式来让子组件和父组件宽度一样。

1. SizedBox.expand

SizedBox.expandSizedBox的构造函数,官方的说明如下:

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(...),
)

  1. How to expand to Parent Widget width?

署名-非商业性使用-禁止演绎 4.0 国际