Flutter BoxDecoration

在 Flutter 里,decoration 一般就是指 BoxDecoration ,用来给组件加背景、边框、圆角、阴影、渐变这些样式。结合你刚才在写的 ClipRRect + BackdropFilter,我给你最实用、最常用的用法。


1. 最基础写法

dart

复制代码
Container(
  decoration: BoxDecoration(
    color: Colors.white,
    borderRadius: BorderRadius.circular(16),
  ),
)

2. 常用属性一览

dart

复制代码
BoxDecoration(
  color: Colors.white,                // 背景色
  borderRadius: BorderRadius.circular(16), // 圆角
  border: Border.all(                 // 边框
    color: Colors.grey,
    width: 1,
  ),
  boxShadow: [                        // 阴影
    BoxShadow(
      color: Colors.black12,
      blurRadius: 10,
      offset: Offset(0, 4),
    ),
  ],
  gradient: LinearGradient(...),     // 渐变
  image: DecorationImage(...),       // 背景图
)

3. 圆角(和你前面的 borderRadius 一样)

dart

复制代码
borderRadius: BorderRadius.circular(20),

// 或者只对某些角圆角
borderRadius: BorderRadius.only(
  topLeft: Radius.circular(20),
  topRight: Radius.circular(20),
),

4. 毛玻璃常用组合(你现在的场景)

dart

复制代码
ClipRRect(
  borderRadius: BorderRadius.circular(20),
  child: BackdropFilter(
    filter: ImageFilter.blur(sigmaX: 10, sigmaY: 10),
    child: Container(
      width: 300,
      height: 200,
      // 毛玻璃一定要用带透明度的颜色
      decoration: BoxDecoration(
        color: Colors.white.withOpacity(0.15),
        borderRadius: BorderRadius.circular(20),
      ),
      child: Center(child: Text("毛玻璃")),
    ),
  ),
)

5. 注意一个大坑

**如果 Container 用了 decoration,就不能再用 color 属性!**错误:

dart

复制代码
Container(
  color: Colors.red, // 冲突
  decoration: BoxDecoration(...),
)

正确:

dart

复制代码
Container(
  decoration: BoxDecoration(
    color: Colors.red,
  ),
)
相关推荐
原则猫7 小时前
UDP 到底怎么实现可靠的
前端
Java后端的Ai之路7 小时前
14、ReactJS - 路由(Router)
前端·react.js·状态模式
持敬chijing7 小时前
白盒测试与代码审计-js登录逆向实战
javascript·网络·安全·web安全·网络安全·网络攻击模型
优选资源分享8 小时前
PicGo v3.0.3 新版 | 开源免费图床工具
javascript·笔记·electron
裕晟资质规划8 小时前
三类涉密资质延续时限差异分析:军工60日与集成印制3个月的边界
java·服务器·前端·网络·安全
ShineWinsu9 小时前
对于JavaScript:JavaScript基础语法的解析
开发语言·前端·javascript·面试·web·基础语法·循环
月夏9 小时前
Vue3 转 React:18 项对照表 + 5 个必踩的坑(附 7 天上手路线)
前端
广州华水科技9 小时前
单北斗GNSS位移监测系统的应用与维护解析
前端
普通人69 小时前
php+html+canvas实现树状打开的结构
开发语言·javascript·html5·1024程序员节
梦曦i9 小时前
uni-storage 0.1.0 发布:TTL过期管理+多实例隔离
前端·storage·uni-app x