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
相关推荐
CodeSheep2 小时前
宇树科技的最新工资和招人标准
前端·后端·程序员
biter down2 小时前
STL list
开发语言·c++
xyq20242 小时前
R 绘图 - 函数曲线图
开发语言
奔跑的卡卡2 小时前
Web开发与AI融合-第二篇:TensorFlow.js实战:在浏览器中运行AI模型
前端·人工智能·tensorflow
IT_陈寒2 小时前
Vue的响应式居然在这里埋坑,差点加班到天亮
前端·人工智能·后端
Lyyaoo.2 小时前
【JAVA基础面经】进程间的通信方式
java·开发语言·python
We་ct2 小时前
LeetCode 149. 直线上最多的点数:题解深度剖析
前端·javascript·算法·leetcode·typescript
小此方2 小时前
Re:思考·重建·记录 现代C++ C++11篇 (三) 深度解构:可变参数模板、类功能演进与 STL 的新版图
开发语言·c++·stl·c++11·现代c++
小坏讲微服务2 小时前
Claude Code 终极实战指南:从终端 Agent 到 AI+Java 开发
java·开发语言·人工智能