EdgeInsets.symmetric 是 Flutter 中用来创建对称内边距的便捷方法。
基本用法
EdgeInsets.symmetric(
horizontal: 12, // 左右各 12
vertical: 8, // 上下各 8
)
这等价于:
EdgeInsets.only(
left: 12,
right: 12,
top: 8,
bottom: 8,
)
可视化理解
↑ vertical: 8
|
← 12 → [ 内容区域 ] ← 12 → horizontal
|
↓ vertical: 8
在你的代码中
第一处:外层容器
padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 8)
- 左右留白 12 像素
- 上下留白 8 像素
- 让地址栏不会紧贴屏幕边缘
第二处:输入框内部
contentPadding: const EdgeInsets.symmetric(
horizontal: 16,
vertical: 12,
)
- 文字距离输入框左右边缘 16 像素
- 文字距离输入框上下边缘 12 像素
- 让文字有足够的呼吸空间
EdgeInsets 的其他常用方法
// 所有方向相同
EdgeInsets.all(16) // 上下左右都是 16
// 只设置某些方向
EdgeInsets.only(
left: 10,
top: 20,
right: 10,
bottom: 20,
)
// 从 LTRB(左上右下)创建
EdgeInsets.fromLTRB(10, 20, 10, 20)
// 零内边距
EdgeInsets.zero
为什么用 symmetric?
- 代码简洁:不用重复写相同的值
- 语义清晰:一眼看出是对称设计
- 易于维护:修改时只需改一个值
在你的地址栏中,symmetric 让组件看起来平衡美观,符合 Material Design 的设计规范。