Padding
一个给子组件设置内边距的组件
将布局约束传递给子组件的时候,Padding组件会按照设置的padding值收缩约束,这样子组件会按照较小的尺寸进行布局。随后Padding将子组件的大小设置为自身的大小,并加上padding值进行膨胀,从而在子组件的周围创建出空白区域。
示例
const Card(
child: Padding(
padding: EdgeInsets.all(16.0),
child: Text('Hello World!'),
),
)

这里例子展示了给Hello World!文本四周创建16大小的内边距。
讨论
为什么使用Padding组件而不是使用Container的padding属性:实际上二者并无区别,只要给Container设置了padding属性,那么Container内部会自动创建Padding小组件。
Container内部的那些属性,Container本身并不会去实现它们,而是把若干更简单的组件组合成一个方便的包。比如Container.padding会让Container创建一个Padding组件,Container.decoration会让Container创建一个DecoratedBox组件。
实际上,Flutter中大多数的组件都是由其他更简单的组件组合而成,组合而非继承才是构建组件的主要方式。
构造函数
Padding.new({
Key? key,
required EdgeInsetsGeometry padding,
Widget? child
})
属性
| 属性名 | 属性类型 | 说明 |
|---|---|---|
| child | Widget? | 子组件 |
| padding | EdgeInsetsGeometry | 内边距值 |