当前位置: 首页 > article >正文

flutter 装饰类【BoxDecoration】

装饰类 BoxDecoration

BoxDecoration 是 Flutter 中用于控制 Container 等组件外观的装饰类,它提供了丰富的属性来设置背景、边框、圆角、阴影等样式。
BoxDecoration 的主要属性

1.color

  • 背景颜色。
  • 类型:Color?
  • 示例:
color: Colors.blue,

2.image

  • 背景图片。
  • 类型:DecorationImage?
  • 示例:
image: DecorationImage(
  image: AssetImage('assets/images/bg.png'),
  fit: BoxFit.cover,
),

3.border

  • 边框样式。
  • 类型:BoxBorder?(如 Border 或 BorderDirectional)
  • 示例:
border: Border.all(
  color: Colors.red,
  width: 2.0,
),

4.borderRadius

  • 圆角设置,仅在边框是矩形时有效。
  • 类型:BorderRadius?
  • 示例:
borderRadius: BorderRadius.circular(10),

5.shape

  • 控制组件形状,支持矩形和圆形。
  • 类型:BoxShape
  • 默认值:BoxShape.rectangle
  • 示例:
shape: BoxShape.circle,

6.gradient

  • 背景渐变样式。
  • 类型:Gradient?(如 LinearGradient 或 RadialGradient)
  • 示例:
gradient: LinearGradient(
  colors: [Colors.blue, Colors.purple],
  begin: Alignment.topLeft,
  end: Alignment.bottomRight,
),

7.boxShadow

  • 阴影效果。
  • 类型:List?
  • 示例:
boxShadow: [
  BoxShadow(
    color: Colors.black.withOpacity(0.2),
    offset: Offset(2, 4),
    blurRadius: 6,
  ),
],

8.backgroundBlendMode

  • 背景混合模式,用于控制 color 和 image 的混合效果。
  • 类型:BlendMode?
  • 示例:
backgroundBlendMode: BlendMode.multiply,

9.clipBehavior

  • 定义如何裁剪子组件。
  • 类型:Clip,默认值为 Clip.none
  • 示例:
clipBehavior: Clip.hardEdge,

完整属性示例:

Container(
  width: 100,
  height: 100,
  decoration: BoxDecoration(
    color: Colors.blue, // 背景颜色
    border: Border.all( // 边框
      color: Colors.red,
      width: 2.0,
    ),
    borderRadius: BorderRadius.circular(15), // 圆角
    boxShadow: [ // 阴影
      BoxShadow(
        color: Colors.black.withOpacity(0.2),
        offset: Offset(3, 3),
        blurRadius: 5,
      ),
    ],
    gradient: LinearGradient( // 渐变
      colors: [Colors.blue, Colors.green],
      begin: Alignment.topLeft,
      end: Alignment.bottomRight,
    ),
    image: DecorationImage( // 背景图片
      image: AssetImage('assets/images/example.png'),
      fit: BoxFit.cover,
    ),
  ),
)

属性用途总结:
在这里插入图片描述


http://www.kler.cn/a/503202.html

相关文章:

  • vLLM私有化部署大语言模型LLM
  • LeetCode 2270: 分割数组的方案数
  • 如何当前正在运行的 Elasticsearch 集群信息
  • vue的KeepAlive应用(针对全部页面及单一页面进行缓存)
  • Django Admin 自定义操作封装
  • Uniapp仿ChatGPT Stream流式输出(非Websocket)
  • 上传自己的镜像到docker hub详细教程
  • 浅谈云计算06 | 云管理系统架构
  • 论文阅读:《Whole-animal connectomes of both Caenorhabditis elegans sexes》
  • 7.STM32F407ZGT6-RTC
  • 施耐德M241与MR20-MT-1616的组态过程
  • python-leetcode-矩阵置零
  • 当自动包布机遇上Profinet转ModbusTCP网关,“妙啊”,工业智能“前景无限
  • SpiderFlow平台v0.5.0之引入selenium插件
  • linux 文件权限设置详解
  • 一些实用的工具
  • Termora跨平台 SSH/SFTP/Terminal 客户端工具
  • 如何给即将满的 C 盘添加磁盘空间
  • 《AI发展的双重困境:技术扩展性与用户体验的矛盾,以及AGI理想与现实的差距》
  • 重新定义数据分析:LLM如何让人专注真正的思考
  • YOLOv11 GPU环境搭建与问题分析
  • Vim复制当前文件的全路径到系统剪贴板
  • 【安全帽头盔检测】基于YOLOV11+pytorch+Flask+SpringBoot+Vue+MySQL的安全帽头盔检测识别系统
  • Docker中编码和时区设置不生效问题排查
  • 王炸组合:Dolphinscheudler 3.1.*搭配SeaT unnel2.3.*高效完成异构数据数据集成
  • docker 国内源