Padding

一个给子组件设置内边距的组件

将布局约束传递给子组件的时候,Padding组件会按照设置的padding值收缩约束,这样子组件会按照较小的尺寸进行布局。随后Padding将子组件的大小设置为自身的大小,并加上padding值进行膨胀,从而在子组件的周围创建出空白区域。

示例

const Card(
  child: Padding(
    padding: EdgeInsets.all(16.0),
    child: Text('Hello World!'),
  ),
)

这里例子展示了给Hello World!文本四周创建16大小的内边距。

讨论

为什么使用Padding组件而不是使用Containerpadding属性:实际上二者并无区别,只要给Container设置了padding属性,那么Container内部会自动创建Padding小组件。

Container内部的那些属性,Container本身并不会去实现它们,而是把若干更简单的组件组合成一个方便的包。比如Container.padding会让Container创建一个Padding组件,Container.decoration会让Container创建一个DecoratedBox组件。

实际上,Flutter中大多数的组件都是由其他更简单的组件组合而成,组合而非继承才是构建组件的主要方式。

构造函数

Padding.new({
  Key? key, 
  required EdgeInsetsGeometry padding, 
  Widget? child
})

属性

属性名属性类型说明
childWidget?子组件
paddingEdgeInsetsGeometry内边距值