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

Material3设计指南笔记

Material3设计指南笔记

Table of Contents

  • 1. 颜色color

  • 1.1. 颜色分类

  • 1.2. 强调色accent color

  • 1.3. 中性色neutral color

  • 1.4. 辅助色additional color

  • 1.5. 调色盘tonal palettes

  • 1.6. 颜色规范

  • 2. z轴高度 elevation

  • 3. 图标 icon

  • 4. 动画 motion

  • 5. 形状 shape

  • 6. 字体

1. 颜色color

1.1. 颜色分类

Material3将界面中的颜色分为强调色accent color、中性色neutral color和辅助色additional color三类。强调色用于突出显示某些界面元素,中性色用作背景颜色,辅助色用于展示错误信息。

  • 强调色accent color

  • 一级色primary color

  • 二级色secondary color

  • 三级色tertiary color

  • 中性色neutral color

  • 中性色neutral color

  • 弱中性色neutral variant color

  • 辅助色additional color

1.2. 强调色accent color

强调色用于突出显示某些界面元素。强调色包括一级色primary color、二级色secondary color和三级色tertiary color。每个强调色包含一组4个色调hue相同,亮度lightness不同的颜色。比如一级色就包含Primary、OnPrimary、PrimaryContainer、OnPrimaryContainer4个颜色。Primary通常用于悬浮按钮、按钮、选中状态、hover状态。Primary是应用的基调颜色。OnPrimary是在Primary之上的内容(比如图标、文字)颜色。PrimaryContainer用于比强调性比Primary弱的元素。OnPrimaryContainer是PrimaryContainer上内容的颜色。二级色用于强调程度低于一级色的界面元素。三级色用于平衡一、二级色,通常用于输入控件。

1.3. 中性色neutral color

表面色

透明度opacity

Surface1

5

Surface2

8

Surface3

11

Surface4

12

Surface5

14

1.4. 辅助色additional color

1.5. 调色盘tonal palettes

Material3使用HLS色彩模式,根据亮度lightness将颜色分为13个色调,用色调对应的亮度进行标记。比如primary40表示亮度为40的主色。

Listing 1: Material3的13个色调

亮度 0 10 20 30 40 50 60 70 80 90 95 99 100

1.6. 颜色规范

类别

标识

亮度

说明

一级色

Primary

Primary40

OnPrimary

Primary100

PrimaryContainer

Primary90

OnPrimaryContainer

Primary10

二级色

Secondary

Secondary40

OnSecondary

Secondary100

SecondaryContainer

Secondary90

OnSecondaryContainer

Secondary10

三级色

Teritary

Teritary40

OnTeritary

Teritary100

TeritaryContainer

Teritary90

OnTeritaryContainer

Teritary10

中性色

Background

Neutral99

OnBackground

Neutral10

Surface

Neutral99

OnSurface

Neutral10

弱中性色

SurfaceVariant

NeutralVariant90

OnSurfaceVariant

NeutralVariant30

Outline

NeutralVariant50

OutlineVariant

NeutralVariant80

辅助色

Error

Error40

OnError

Error100

ErrorContainer

Error90

OnErrorContainer

Error10

2. z轴高度 elevation

z轴高度用于描述多个表面surface堆叠在同一位置时的效果。每个表面和组件component都有elevation属性。

3. 图标 icon

标准图标尺寸为24dp x 24dp。额外图标尺寸有20dp x 20dp、40dp x 40dp和48dp x 48dp。

4. 动画 motion

5. 形状 shape

Material3形状分为圆角rounded和斜角cut两种风格,并按元素尺寸分为7个级别。

Table 1: Material3的7种元素尺寸级别

尺寸

corner

none

0dp

extra small

4dp

small

8dp

medium

12dp

large

16dp

extra large

28dp

full

Table 2: 组件默认样式

控件

样式

Autocomplete menu

extra small

Badge

full

Banners

none

Bottom app bars

none

Bottom sheets (docked)

extra large

Buttons

full

Cards

medium

Chips

small

Dialogs

extra large

Extended FABs

large

FABs

large

Floating sheets

extra large

Full-screen dialogs

none

Icon buttons

full

Large FABs

extra large

Lists

none

Navigation bars

none

Navigation drawers

large

Navigation rails

none

Progress indicators

none

Rich tooltip

small

Search bar

full

Search view (docked)

extra large

Search view (full-screen)

none

Select menu

extra small

Side sheets (docked)

none

Sliders

full

Small FABs

medium

Snackbars

extra small

Standard menu

extra small

Switches

full

Tabs

none

Text fields

extra small

Time input

extra large

Time picker

extra large

Top app bars

none

6. 字体

Material3将文字元素按分为5种用途:display、headline、title、label、body。每种用途又分为small、medium、large三种尺寸。因此Material3一共支持15种不同大小的字体。

Table 3: Material3字体

用途

尺寸类别

字体font

行距line height

尺寸size

字距tracking

粗细weight

Display

large

Roboto Regular

64

57

0

400

medium

Roboto Regular

52

45

0

400

small

Roboto Regular

44

36

0

400

Headline

large

Roboto Regular

40

32

0

400

medium

Roboto Regular

36

28

0

400

small

Roboto Regular

32

24

0

400

title

large

Roboto Regular

28

22

0

400

medium

Roboto Medium

24

16

0.15

500

small

Roboto Medium

20

14

0.1

500

label

large

Roboto Medium

20

14

0.1

500

medium

Roboto Medium

16

12

0.5

500

small

Roboto Medium

16

11

0.5

500

body

large

Roboto Medium

24

16

0.5

400

medium

Roboto Regular

20

14

0.25

400

small

Roboto Regular

16

12

0.4

400

相关文章:

Material3设计指南笔记

Material3设计指南笔记Table of Contents1. 颜色color1.1. 颜色分类1.2. 强调色accent color1.3. 中性色neutral color1.4. 辅助色additional color1.5. 调色盘tonal palettes1.6. 颜色规范2. z轴高度 elevation3. 图标 icon4. 动画 motion5. 形状 shape6. 字体1. 颜色color1.1…...

JavaWeb--会话技术

会话技术1 会话跟踪技术的概述2 Cookie2.1 Cookie的基本使用2.2 Cookie的原理分析2.3 Cookie的使用细节2.3.1 Cookie的存活时间2.3.2 Cookie存储中文3 Session3.1 Session的基本使用3.2 Session的原理分析3.3 Session的使用细节3.3.1 Session钝化与活化3.3.2 Session销毁目标 理…...

Git图解-为啥是Git?怎么装?

目录 零、学习目标 一、版本控制 1.1 团队开发问题 1.2 版本控制思想 1.2.1 版本工具 二、Git简介 2.1 简介 2.2 Git环境的搭建 三、转视频版 零、学习目标 掌握git的工作流程 熟悉git安装使用 掌握git的基本使用 掌握分支管理 掌握IDEA操作git 掌握使用git远程仓…...

HTML 框架

HTML 框架 <iframe>标签规定一个内联框架。 一个内联框架被用来在当前 HTML 文档中嵌入另一个文档。 通过使用框架&#xff0c;你可以在同一个浏览器窗口中显示不止一个页面。 iframe 语法&#xff1a; <iframe src"URL"></iframe> 该URL指向不同的…...

Rust特征(Trait)

特征(Trait) 特征&#xff08;trait&#xff09;是rust中的概念&#xff0c;类似于其他语言中的接口&#xff08;interface&#xff09;。在之前的代码中&#xff0c;我们也多次见过特征的使用&#xff0c;例如 #[derive(Debug)]&#xff0c;它在我们定义的类型(struct)上自动…...

详解七大排序算法

对于排序算法&#xff0c;是我们在数据结构阶段&#xff0c;必须要牢牢掌握的一门知识体系&#xff0c;但是&#xff0c;对于排序算法&#xff0c;里面涉及到的思路&#xff0c;代码……各种时间复杂度等&#xff0c;都需要我们&#xff0c;记在脑袋瓜里面&#xff01;&#xf…...

Vue+ECharts实现可视化大屏

由于项目需要一个数据大屏页面&#xff0c;所以今天学习了vue结合echarts的图标绘制 首先需要安装ECharts npm install echarts --save因为只是在数据大屏页面绘制图表&#xff0c;所以我们无需把它设置为全局变量。 可以直接在该页面引入echarts&#xff0c;就可以在数据大…...

百度Apollo规划算法——轨迹拼接

百度Apollo规划算法——轨迹拼接引言轨迹拼接1、什么是轨迹拼接&#xff1f;2、为什么要进行轨迹拼接&#xff1f;3、结合Apollo代码为例理解轨迹拼接的细节。参考引言 在apollo的规划算法中&#xff0c;在每一帧规划开始时会调用一个轨迹拼接函数&#xff0c;返回一段拼接轨迹…...

6. unity之脚本

1. 说明 当整个游戏运行起来之后&#xff0c;我们无法再借助鼠标来控制物体&#xff0c;此时可以使用脚本来更改物体的各种姿态&#xff0c;驱动游戏的整体运动逻辑。 2. 脚本添加 首先在Assets目录中&#xff0c;新创建一个Scripts文件夹&#xff0c;在该文件内右键鼠标选择…...

flink-note笔记:flink-state模块中broadcast state(广播状态)解析

github开源项目flink-note的笔记。本博客的实现代码都写在项目的flink-state/src/main/java/state/operator/BroadcastStateDemo.java文件中。 项目github地址: github 1. 广播状态是什么 网上关于flink广播变量、广播状态的讲解很杂。我翻了flink官网发现,实际上在1.15里面…...

vue——预览PDF

下载插件 npm install --save vue-pdf创建组件 <template><div class"ins-submit-docs-content ins-submit-docs-pdf"><div v-if"loading" style"position: absolute; top: 40%; width: 100%;text-align: center;"><el-l…...

数据库复习

什么是数据库系统 数据库系统是指在计算机系统中引入数据库后构成的系统&#xff0c;一般由数据库、数据库管理系统(及其开发工具)、应用系统、数据库管理员和用户构成 数据库系统的特点是什么&#xff1f; 数据结构化数据的共享性高&#xff0c;冗余度低且易扩充数据独立性高数…...

vscode插件推荐

文章目录前言一、vscode插件推荐&#xff1f;1、 Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code2、Auto Close Tag3、Auto Import3、Error Lens4、vscode-icons5、ES7 React/Redux/React-Native snippets6、GitLens — Git supercharged7、JavaScript…...

THUPC2023初赛总结

今天参加了THUPC2023初赛&#xff0c;感觉还行。 比赛本来是11:00-16:00&#xff0c;但出了点问题&#xff0c;比赛延迟了十分钟。 刚开始&#xff0c;我从第一题往后看&#xff0c;寻找简单的题。 过了一会儿&#xff0c;一看排行榜&#xff0c;怎么最后一题全是绿的&#…...

unity知识点小结02

虚拟轴 虚拟轴就是一个数值在-11内的轴&#xff0c;这个数轴上重要的数值就是-1,0和1。当使用按键模拟一个完整的虚拟轴时需要用到两个按键&#xff0c;即将按键1设置为负轴按键&#xff0c;按键2设置为正轴按键。在没有按下任何按键的时候&#xff0c;虚拟轴的数值为0&#xf…...

总线(四)Modbus总线 协议

文章目录Modbus技术背景Modbus OSI分布Moudbus分类通讯过程Moudbus协议通信过程以及报文解析RTU 与 ASCII 收发数据区别Modbus技术背景 Modbus是一种串行通信协议。 1971年&#xff0c;Modicon公司首次退出Modbus协议&#xff0c;ModbusRTU和Modbus ASCII诞生于此。 后来施耐德…...

Cadence Allegro 导出Component Report详解

⏪《上一篇》   🏡《总目录》   ⏩《下一篇》 目录 1,概述2,Component Report作用3,Component Report示例4,Component Report导出方法4.1,方法14,2,方法2B站关注“硬小二”浏览更多演示视频 1,...

程序猿成长之路之密码学篇-DES算法详解

DES的算法实现原理详情请见 https://blog.csdn.net/qq_31236027/article/details/128209185 DES算法密钥获取详情请见 https://blog.csdn.net/qq_31236027/article/details/129224730 编码工具类获取详见 https://blog.csdn.net/qq_31236027/article/details/128579451 DES算法…...

maven生命周期、阶段与默认绑定插件梳理

maven生命周期、阶段与默认绑定插件梳理 CSDN博客 码云源码 1.maven生命周期、阶段与默认绑定插件 序号生命周期lifecycle阶段phase默认绑定插件(链接官网)默认绑定插件(链接maven库)说明1cleancleanmaven-clean-pluginmaven-clean-plugin清理2.1buildvalidate——验证2.2b…...

【数学基础】

文章目录『 第1讲 高等数学预备知识 』1.1 函数的概念与特性函数的四种特性【 重要结论 】1.2 函数的图像直角坐标系下的图像极坐标系下的图像参数方程1.3 常用基础知识【 情报#1 】『 第2讲 数列极限 』2.1 引言2.2 求数列极限【 情报#2 】『 第1讲 高等数学预备知识 』 1.1 …...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)

宇树机器人多姿态起立控制强化学习框架论文解析 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架&#xff08;一&#xff09; 论文解读&#xff1a;交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生&#xff0c;小白用户&#xff0c;想学习知识的 有点基础&#xff0c;想要通过项…...

【JVM】Java虚拟机(二)——垃圾回收

目录 一、如何判断对象可以回收 &#xff08;一&#xff09;引用计数法 &#xff08;二&#xff09;可达性分析算法 二、垃圾回收算法 &#xff08;一&#xff09;标记清除 &#xff08;二&#xff09;标记整理 &#xff08;三&#xff09;复制 &#xff08;四&#xff…...

论文阅读笔记——Muffin: Testing Deep Learning Libraries via Neural Architecture Fuzzing

Muffin 论文 现有方法 CRADLE 和 LEMON&#xff0c;依赖模型推理阶段输出进行差分测试&#xff0c;但在训练阶段是不可行的&#xff0c;因为训练阶段直到最后才有固定输出&#xff0c;中间过程是不断变化的。API 库覆盖低&#xff0c;因为各个 API 都是在各种具体场景下使用。…...

用鸿蒙HarmonyOS5实现中国象棋小游戏的过程

下面是一个基于鸿蒙OS (HarmonyOS) 的中国象棋小游戏的实现代码。这个实现使用Java语言和鸿蒙的Ability框架。 1. 项目结构 /src/main/java/com/example/chinesechess/├── MainAbilitySlice.java // 主界面逻辑├── ChessView.java // 游戏视图和逻辑├──…...

自然语言处理——文本分类

文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益&#xff08;IG&#xff09; 分类器设计贝叶斯理论&#xff1a;线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别&#xff0c; 有单标签多类别文本分类和多…...

Netty自定义协议解析

目录 自定义协议设计 实现消息解码器 实现消息编码器 自定义消息对象 配置ChannelPipeline Netty提供了强大的编解码器抽象基类,这些基类能够帮助开发者快速实现自定义协议的解析。 自定义协议设计 在实现自定义协议解析之前,需要明确协议的具体格式。例如,一个简单的…...

AGV|无人叉车工业语音播报器|预警提示器LBE-LEX系列性能与接线说明

LBE-LEX系列AGV|无人叉车工业语音播报器|预警提示器&#xff0c;涵盖LBE-LEI-M-00、LBE-LESM-00、LBE-LES-M-01、LBE-LEC-M-00、LBE-KEI-M-00、LBE-KES-M-00、LBE-KES-M-01、LBE-KEC-M-00等型号&#xff0c;适用于各种需要语音提示的场景&#xff0c;主要有AGV、AMR机器人、无人…...

【AI教我写网站-ECG datacenter】

阶段性总结&#xff1a;后端用户管理基础 在项目管理和协作中&#xff0c;清晰地阐述“为什么做”比“怎么做”更能凝聚共识和提供方向。我们不仅要理解技术实现&#xff0c;更要明白其背后的动机和意义。 让我们重新回顾并总结我们到目前为止的工作&#xff0c;这次会更侧重…...