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,
  ),
)
相关推荐
子兮曰5 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰5 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万5 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝5 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋5 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁5 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
李少兄5 天前
JavaScript 隐式全局变量解析
javascript
汉堡大王95275 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大5 天前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师5 天前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端