按钮

按钮是向用户表达“这里可以执行操作”的主要视觉元素。

Glimmer 按钮

设计原则

操作明确:按钮应清楚表达它会触发一项操作。

反馈清晰:悬停、按下、获得焦点等交互状态,必须在外观上有明确区别,让用户立即获得反馈。

风格一致:所有按钮应共享一致的核心视觉语言,让用户一眼就能认出。

灵活适配:按钮组件应支持图标、不同尺寸等常见变化,同时保持一致性。

使用与布局

按钮应靠近与它相关的内容。它既可以独立放置,也可以与卡片、列表等组件组合使用。

通过渐进呈现展示相关性较低的操作。
建议:通过渐进呈现展示相关性较低的操作。
在用户视野中堆放过多按钮;应改用按钮组。
避免:在用户视野中堆放过多按钮;应改用按钮组。
用按钮表达可执行的操作;静态信息则使用标题胶囊。
建议:用按钮表达可执行的操作;静态信息则使用标题胶囊。
把按钮用作纯静态的装饰元素。
避免:把按钮用作纯静态的装饰元素。

图标按钮

图标按钮可以降低内容密度。只有当图标能清楚表达操作含义时,才适合单独使用;否则,应加上文字标签。

用图标按钮承载常见、容易辨认的操作。
建议:用图标按钮承载常见、容易辨认的操作。
用只有图标的按钮表达生僻、难以理解的操作。
避免:用只有图标的按钮表达生僻、难以理解的操作。

切换按钮

对于收藏等只有两种状态的操作,每一种按钮类型都提供可切换的变体。切换状态时相应更换图标,可以让变化更容易被一眼察觉,反馈也更明确。

对开始/停止等二元操作使用切换按钮。
建议:对开始/停止等二元操作使用切换按钮。
用切换按钮承载并非只有两种状态的操作。
避免:用切换按钮承载并非只有两种状态的操作。

组件构成

普通按钮由文字标签组成,也可以在文字前方或后方添加图标。

按钮的文字标签与前置、后置图标

图标按钮只包含一个容易辨认的图标。普通按钮和图标按钮都提供可切换状态的变体。

默认按钮

默认按钮的五种状态

1. 默认状态;2. 获得焦点;3. 按下;4. 禁用;5. 禁用且获得焦点。

大尺寸按钮

大尺寸按钮的五种状态

1. 默认状态;2. 获得焦点;3. 按下;4. 禁用;5. 禁用且获得焦点。

图标按钮

图标按钮的五种状态

1. 默认状态;2. 获得焦点;3. 按下;4. 禁用;5. 禁用且获得焦点。

图标按钮

可切换按钮的状态示例

1. 默认状态;2. 获得焦点;3. 按下;4. 禁用;5. 禁用且获得焦点。

自定义

按钮提供默认尺寸和大尺寸两种样式。大尺寸有助于强调操作的重要性。

在文字前方或后方添加图标,可以进一步突出操作、解释含义,并提高辨识度。

默认按钮

属性可自定义默认值
形状是Large、Circle
内边距是16 dp、8 dp
边框是Default、2 dp、#606460
文字是Body Small
前置图标是32 dp
后置图标是32 dp
尺寸是最小高度 48 dp
深度是0
间距是文字与图标之间:Extra small

大尺寸按钮

属性可自定义默认值
形状是Large、Circle
内边距是16 dp、16 dp
边框是2 dp、#606460
文字是Body Small
前置图标是32 dp
后置图标是32 dp
尺寸是最小高度 72 dp
深度是0
间距是文字与图标之间:Extra small

图标按钮

属性可自定义默认值
形状是Large、Circle
内边距是Small、Small
边框是Default
图标是默认:32 dp;颜色:On Surface
尺寸是最小高度 48 dp
深度是0

切换按钮

属性可自定义默认值
选中状态是布尔值(Boolean)
默认圆角是16 dp、8 dp
选中时的圆角是Default focus
选中时的底板颜色是Outline
其他所有属性是与普通按钮一致

图标切换按钮

属性可自定义默认值
选中状态是布尔值(Boolean)
默认圆角是100 dp
选中时的圆角是20 dp
选中时的底板颜色是Outline
其他所有属性是与普通按钮一致