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,
  ),
)
相关推荐
莞凰19 分钟前
昇腾CANN的“御剑飞行“:ATB仓库探秘
人工智能·flutter·transformer
GISer_Jing1 小时前
Three.JS渲染架构解读
java·javascript·架构
发现一只大呆瓜2 小时前
超全 Vite 性能优化指南:网络、资源、预渲染三维落地方案
前端·面试·vite
IT_陈寒2 小时前
Vue的computed属性怎么突然不更新了?
前端·人工智能·后端
时寒的笔记2 小时前
day13~14核心案例某采招网
开发语言·javascript·ecmascript
智商不够_熬夜来凑2 小时前
【Picker】单选多选
前端·javascript·vue.js
QQ3463481572 小时前
Flutter_01 工具准备1
flutter
米饭不加菜3 小时前
Typora 原生流程图语法完全指南(Flowchart.js)
前端·javascript·流程图
scan7243 小时前
langgraphy条件边
前端·javascript·html