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 文档中嵌入另一个文档。 通过使用框架,你可以在同一个浏览器窗口中显示不止一个页面。 iframe 语法: <iframe src"URL"></iframe> 该URL指向不同的…...
Rust特征(Trait)
特征(Trait) 特征(trait)是rust中的概念,类似于其他语言中的接口(interface)。在之前的代码中,我们也多次见过特征的使用,例如 #[derive(Debug)],它在我们定义的类型(struct)上自动…...

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

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

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

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

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

vscode插件推荐
文章目录前言一、vscode插件推荐?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初赛,感觉还行。 比赛本来是11:00-16:00,但出了点问题,比赛延迟了十分钟。 刚开始,我从第一题往后看,寻找简单的题。 过了一会儿,一看排行榜,怎么最后一题全是绿的&#…...

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

总线(四)Modbus总线 协议
文章目录Modbus技术背景Modbus OSI分布Moudbus分类通讯过程Moudbus协议通信过程以及报文解析RTU 与 ASCII 收发数据区别Modbus技术背景 Modbus是一种串行通信协议。 1971年,Modicon公司首次退出Modbus协议,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 …...

python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...

Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果中的KV缓存压缩与动态稀疏注意力机制设计
随着大语言模型(LLM)参数规模的增长,推理阶段的内存占用和计算复杂度成为核心挑战。传统注意力机制的计算复杂度随序列长度呈二次方增长,而KV缓存的内存消耗可能高达数十GB(例如Llama2-7B处理100K token时需50GB内存&a…...

VM虚拟机网络配置(ubuntu24桥接模式):配置静态IP
编辑-虚拟网络编辑器-更改设置 选择桥接模式,然后找到相应的网卡(可以查看自己本机的网络连接) windows连接的网络点击查看属性 编辑虚拟机设置更改网络配置,选择刚才配置的桥接模式 静态ip设置: 我用的ubuntu24桌…...

使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...

解读《网络安全法》最新修订,把握网络安全新趋势
《网络安全法》自2017年施行以来,在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂,网络攻击、数据泄露等事件频发,现行法律已难以完全适应新的风险挑战。 2025年3月28日,国家网信办会同相关部门起草了《网络安全…...