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

Flutter Android开发 梳理Google Material Design颜色体系

前言

做安卓开发(Kotlin语言),Flutter开发的人员应该都听说过谷歌一直推崇的Material Design,而Material Design Color是其推崇的颜色体系,具体来说,Material Design Color是一套旨在帮助设计师和开发者创建视觉吸引力和一致性界面的指南。它不仅包括了丰富的颜色选择,还提供了如何有效使用这些颜色的建议

正文

而我们深入了解MaterialDesign Color,会发现是一堆定义在Theme内的颜色(当然这些颜色是互相协调符合MD规范的颜色)

具体的,开发人员可以使用这些颜色,flutter用法如下

Color primaryColor = Theme.of(context).primaryColor;

同时在flutter3.3.0版本后,部分颜色需要这样访问

Theme.of(context).colorScheme.onError,同时不能被定义在const widget

不过初次接触可能会眼花撩乱,如下整理了这套颜色体系需要了解的内容


主色(Primary Color)

  • 定义:应用的主要颜色,广泛用于导航栏、按钮、链接和活动状态指示器。
  • 使用场景:用作界面中最显眼的颜色,代表品牌或应用的主题。

主色变体(Primary Color Variant)

  • 定义:主色的一个较深或较浅的版本。
  • 使用场景:在需要对主色进行强调或分层时使用,比如状态栏或者浮动按钮的背景。

辅色(Secondary Color)

  • 定义:用来补充主色的颜色,为UI提供更多色彩。
  • 使用场景:用于浮动操作按钮、选择控件、高亮部分等,可以帮助区分不同的界面元素或功能。

辅色变体(Secondary Color Variant)

  • 定义:辅色的一个较深或较浅的版本。
  • 使用场景:同主色变体,用于需要对辅色进行强调或分层的地方。

背景色(Background Color)

  • 定义:应用的背景色,通常是一个非常浅的颜色。
  • 使用场景:用于页面的背景,提供一个干净的画布,上面可以放置其他颜色和元素。

表面色(Surface Color)

  • 定义:用于材料表面(如卡片、菜单和弹窗)的颜色。
  • 使用场景:创建阴影和深度效果,以区分应用中的各个界面层次。

错误色(Error Color)

  • 定义:用来指示错误或需要用户注意的颜色,通常是红色或其变体。
  • 使用场景:表单验证、失败消息提示等,引起用户注意。

在颜色之上(On Colors)

  • 定义:指的是在主色、辅色、背景色、表面色或错误色之上使用的颜色,通常是用来确保足够的对比度,比如文字和图标。
  • 使用场景:例如,onPrimary用于主色上的文字和图标,onSecondary用于辅色上的文字和图标,以此类推。
http://www.lryc.cn/news/300467.html

相关文章:

  • 每日五道java面试题之java基础篇(六)
  • c++ STL系列——(五)map
  • Huggingface 文档翻译完毕
  • C++中类的6个默认成员函数 【拷贝构造函数】
  • 【前端高频面试题--Vuex下篇】
  • MySQL性能调优篇(4)-查询语句的优化与重构
  • LInux、源码编译安装
  • wordpress好的网站主题
  • 【Java多线程】对进程与线程的理解
  • C# CAD交互界面-自定义面板集-查找定位(六)
  • 5.7 BCC工具之disksnoop.py解读
  • QT:实现图片选择器
  • LLM大模型相关问题汇总---包括问题与答案
  • 自动化测试定位不到元素怎么办?
  • 1 scala集合-数组
  • 双场板功率GaN HEMT电容模型以精确模拟开关行为
  • OpenCV Mat实例详解 四
  • Fluke ADPT 连接器新增对福禄克万用 Fluke 106 的支持
  • 算法-3-基本的数据结构
  • 探秘Java反射:灵活编程的利器
  • 记录 | ubuntu pyqt5 pycharm配置
  • ESP32学习(1)——环境搭建
  • Attention Is All Your Need论文笔记
  • vue-进阶语法(四)
  • CGAL::2D Arrangements-7
  • linux系统下vscode portable版本的rust环境搭建004:rust
  • 从汇编角度解释线程间互斥-mutex互斥锁与lock_guard的使用
  • 高程 | 多态性(c++)
  • LV.23 D2 开发环境搭建及平台介绍 学习笔记
  • [uniapp生命周期]详细讲解uniapp中那些属于vue生命周期,那些属于uniapp独有的生命周期,以及这中间的区别 相关的内容和api 代码注释