Flutter BoxDecoration border 完整用法

border 是 BoxDecoration 的属性,用来给 Container 加边框,只支持矩形边框。

1. 完整四边统一边框

dart

复制代码
BoxDecoration(
  border: Border.all(
    color: Colors.blue,   // 颜色
    width: 2,             // 粗细
    strokeAlign: BorderSide.strokeAlignInside, // 对齐方式
  ),
)

2. 分别设置四条边(上下左右)

dart

复制代码
BoxDecoration(
  border: Border(
    top: BorderSide(color: Colors.red, width: 1),
    bottom: BorderSide(color: Colors.green, width: 2),
    left: BorderSide(color: Colors.orange, width: 1),
    right: BorderSide(color: Colors.purple, width: 1),
  ),
)

3. 常用属性(BorderSide)

dart

复制代码
BorderSide(
  color: Colors.black,    // 颜色
  width: 1.5,             // 宽度
  style: BorderStyle.solid, // 实线 solid / 无 none
  strokeAlign: BorderSide.strokeAlignCenter, // 居中/内侧/外侧
)

strokeAlign 对齐(很关键)

  • strokeAlignInside:边框向内(不占外部尺寸)
  • strokeAlignCenter:边框居中(一半内一半外)
  • strokeAlignOutside:边框向外

4. 边框 + 圆角(必须一起写在 decoration 里)

dart

复制代码
BoxDecoration(
  color: Colors.white,
  borderRadius: BorderRadius.circular(12), // 圆角
  border: Border.all(color: Colors.grey, width: 1), // 边框
)

5. 毛玻璃 + 边框常用写法

dart

复制代码
ClipRRect(
  borderRadius: BorderRadius.circular(16),
  child: BackdropFilter(
    filter: ImageFilter.blur(sigmaX: 10, sigmaY: 10),
    child: Container(
      width: 200,
      height: 200,
      decoration: BoxDecoration(
        color: Colors.white.withOpacity(0.1),
        borderRadius: BorderRadius.circular(16),
        border: Border.all(
          color: Colors.white.withOpacity(0.3),
          width: 1.5,
        ),
      ),
    ),
  ),
)

6. 常见错误

  • 不要同时用 Container(color:...) + decoration
  • 加了圆角就不要再外层用 ClipRRect 重复裁剪,容易性能浪费
  • 无边框用 border: Border.none
相关推荐
跨境数据猎手21 分钟前
跨境电商系统三大 Web 漏洞的防护:SQL 注入、XSS、CSRF
前端·sql·xss
冒险的豆子1 小时前
Proxy & Vue 响应式(合并精简版,适合面试)
前端·javascript·vue.js
Java后端的Ai之路1 小时前
前端技术Vue-18-视图中的渲染
前端·javascript·vue.js
程序员海军8 小时前
用了两年多 GPT,我最近开始换模型了,还折腾了个求职避坑 Agent
前端·人工智能·后端
zttbee8 小时前
echarts图表tooltip色块失效
前端·javascript·echarts
H.莓飛9 小时前
【数据结构】排序_OJ题(一):计数、桶与排序后的处理
java·开发语言·数据结构
wangchunyu11410 小时前
JAVA AQS与Lock实现原理(含CAS)
java·开发语言·word
excel10 小时前
IndexNow:让搜索引擎更快发现网站更新的主动通知协议
前端·后端·架构
子兮曰10 小时前
CSS 复现 23 种设计风格:从拟物到液态玻璃的成本阶梯与兜底写法【实战】
前端·css·视觉设计
虚无境10 小时前
如何用AI帮我写出实用的插件
前端·javascript·ai编程