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
相关推荐
luj_176839 分钟前
残熵算法实时化三大瓶颈突破
c语言·开发语言·网络·经验分享·算法
不听话坏1 小时前
Ignition篇(下 一) 动态执行前的事情
开发语言·前端·javascript
likeyi072 小时前
require 和 import的区别
开发语言·前端
远离UE42 小时前
UE5 compute shader 原子加
开发语言·c++·ue5
C+-C资深大佬2 小时前
C++ 显式类型转换详解:static_cast、dynamic_cast、const_cast、reinterpret_cast
开发语言·c++
pany2 小时前
做 AI 友好的开源 Vue3 模板 🌈
前端·vue.js·ai编程
小二·2 小时前
React 19 + Next.js 15 现代前端开发实战:App Router / Server Components / 流式渲染
前端·javascript·react.js
KaMeidebaby3 小时前
卡梅德生物技术快报|抗体亲和力成熟工业化调控新机制:差异性浆细胞增殖工艺优化思路
java·开发语言·人工智能·算法·机器学习·架构·spark
luj_17683 小时前
心形曲线轨迹控制三大关键技术
c语言·开发语言·c++·经验分享·算法
谙忆10244 小时前
前端图片直传对象存储:OSS/S3 预签名 URL、STS 临时凭证与回调校验
前端