一、认识组件
1.Padding组件介绍
可容纳一个子组件,通过添加内边距,来限定子组件的占位。核心属性为
EdgeInsetsGeometry类型的padding
。
1 | 名称: Padding 内边距 |
2. 组件属性一览
属性名 | 属性类型 | 默认值 | 备注 |
---|---|---|---|
key | Key | null | 组件键 |
padding | EdgeInsetsGeometry | @required | 内边距 |
child | Widget | null | 子组件 |
EdgeInsetsGeometry对象
1 | EdgeInsetsGeometry # 抽象类 |
EdgeInsets
: 使用left、top、right、bottom
属性表示边距EdgeInsetsDirectional
:使用start、top、end、bottom
属性表示边距- 两者功
能上并没有什么本质区别
,只是语义的不同。前者字少,较为常用。
二、使用组件
1. 全边距: EdgeInsets.all
属性名 | 属性类型 | 默认值 | 备注 |
---|---|---|---|
value | double | null | 内四边距 |
使用案例: 使子组件距父组件四周20
1 | class PaddingAll extends StatelessWidget { |
2. 指定边距: EdgeInsets.only
属性名 | 属性类型 | 默认值 | 备注 |
---|---|---|---|
left | double | 0.0 | 左内边距 |
top | double | 0.0 | 上内边距 |
right | double | 0.0 | 右内边距 |
bottom | double | 0.0 | 下内边距 |
使用案例: 使子组件距父组件上和左侧内边距为10
1 | class PaddingOnly extends StatelessWidget { |
3. 方向边距: EdgeInsets.symmetric
属性名 | 属性类型 | 默认值 | 备注 |
---|---|---|---|
vertical | double | 0.0 | 水平边距 |
horizontal | double | 0.0 | 竖直边距 |
使用案例: 使子组件距父组件水平内边距为10,竖直内边距为30
1 | class PaddingSymmetric extends StatelessWidget { |
4.特殊说明
EdgeInsets
中已重载运算符+、-、*、/、~、~/,%
,可以直接四则运算,如:
1 | EdgeInsets.symmetric(vertical: 30,horizontal: 10) + EdgeInsets.only(top:10,left: 10) |
三、尾声
FlutterUnit开源项目: https://github.com/toly1994328/FlutterUnit
我的公众号:编程之王
联系我–邮箱:1981462002@qq.com –微信:zdl1994328
@张风捷特烈 2020.04.29
~ END ~