Flutter BoxDecoration border 完整用法

borderBoxDecoration 的属性,用来给 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
相关推荐
晴天161 小时前
前端 postMessage 使用场景
前端·javascript·网络
zhanghaha13142 小时前
HTML系列教程:15_标签 全称 + 简写 超详细讲解(新手专用)
前端·html
zhanghaha13142 小时前
HTML系列教程:14_HTML 表单与输入框 <form>、<input> 零基础详解
java·前端·javascript
IMPYLH2 小时前
HTML 的 <samp> 元素
前端·网络·html
IMPYLH2 小时前
HTML 的 <script> 元素
前端·html
weixin_493503677 小时前
Vue3 前端生成 PDF:会员证书与活动签到表的三种打印方案与踩坑记录
前端·pdf·状态模式
傻啦嘿哟7 小时前
某招聘平台爬虫:爬取招聘岗位数据,分析各城市薪资水平
开发语言·爬虫·python
2501_933670797 小时前
2026秋招量化分析岗技能栈:Python、SQL、统计建模、回测项目怎么准备
开发语言·python·sql
李少兄8 小时前
JavaScript 数据类型完全指南
开发语言·javascript·ecmascript
Seoyoneh8 小时前
Agentic Workflow编排架构:云客服从“被动响应”迈向“主动执行”的技术实现
java·开发语言·架构