1 、Padding 介绍
Padding 用来为子元素添加填充,也就是指定子元素与容器边界的距离,作用基本上与 Android 中 ViewGroup 的 padding 属性差不多
const Padding({
Key key,
@required this.padding,
Widget child,
}) : assert(padding != null),
super(key: key, child: child);
EdgeInsets 提供了一些方法
- fromLTRB(double left, double top, double right, double bottom):分别指定四个方向的填充。
- all(double value) : 所有方向均使用相同数值的填充。
- only({left, top, right ,bottom}):可以设置具体某个方向的填充 (可以同时指定多个方向)。
- symmetric({vertical, horizontal}):用于设置对称方向的填充,vertical 指 top 和 bottom,horizontal 指 left 和 right。
2 、代码测试
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'open url',
home: Scaffold(
appBar: AppBar(
// Here we take the value from the MyHomePage object that was created by
// the App.build method, and use it to set our appbar title.
title: Text('hello flutter'),
),
body: Padding(
// padding: EdgeInsets.all(16),
// padding: EdgeInsets.fromLTRB(10, 20, 30, 40),
// padding: EdgeInsets.only(left: 10, right: 30),
padding: EdgeInsets.symmetric(vertical: 20),
child: Container(
color: Colors.blue,
),
),
),
);
}
}
3、运行效果
分别用上面注释的 4 个 padding 效果如下