You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

理解Android平台MDC核心颜色属性的含义与应用场景

Android MDC 核心语义颜色属性详解

所有属性均遵循「容器颜色 + 对应前景色(On开头)」的配对规则,保证文本、图标等内容放在对应容器上的对比度符合无障碍标准,全局修改即可覆盖所有默认组件的配色,无需单独给每个组件设色。

1. 主色系列

  • colorPrimary:应用的品牌主色,是整个App最核心的识别色。默认会被顶部导航栏(Toolbar/ActionBar)、悬浮按钮(FloatingActionButton)、主样式按钮(Button的contained类型)、输入框聚焦指示线、单选/多选框选中态等核心交互组件调用,适合突出App品牌特性、标记最高优先级的可交互元素。
  • colorPrimaryVariant:主色的同色系变体,一般比主色更深或更浅。默认会被状态栏、顶部导航栏滚动阴影态等场景调用,用来和主色形成层级区分,无需额外自定义就能保证同色系的视觉一致性。
  • colorOnPrimary:主色容器的对应前景色,默认用于主色容器上的文本、图标、描边等元素,比如主按钮的文字、顶部导航栏的标题和图标,确保放在主色上的内容清晰可辨,对比度符合无障碍要求。

2. 辅助色系列

  • colorSecondary:品牌辅助色,用于突出优先级次于主交互的可选中元素、装饰性元素。默认会被过滤器芯片(Chip)、开关(Switch)选中态、滑块(SeekBar)进度条、选中的选项卡(TabLayout)下划线等组件调用,避免和主色的功能定位混淆。
  • colorSecondaryVariant:辅助色的同色系变体,用于辅助色需要区分层级的场景,比如开关的轨道选中态、滑块拖拽手柄外圈等,没有固定的默认绑定组件,可根据设计需求自行绑定到对应视图。
  • colorOnSecondary:辅助色容器的对应前景色,用于辅助色容器上的文本、图标,比如选中态芯片的文字、开关的滑块图标,保证内容在辅助色上的可读性。

3. 表面与背景系列

  • colorSurface:承载内容的表面容器色,是各类卡片、对话框、菜单、底部弹窗等悬浮容器的默认背景色。默认会被CardView、AlertDialog、下拉菜单(PopupMenu)、底部导航栏背景、抽屉导航(DrawerLayout)背景等组件调用,用来和底层背景形成层级差,深色模式下会比背景色更亮,突出悬浮层次感。
  • colorOnSurface:Surface容器的对应前景色,默认用于卡片内的标题正文、对话框的按钮文字、菜单选项文字等,是应用内绝大多数常规内容的默认文本颜色。
  • colorBackground:应用全局底层背景色,是所有内容的基础底色,默认会被Activity/Fragment的根布局、无特殊样式的普通容器背景调用,一般整个App的页面背景统一用该属性,保证全局底色一致。
  • colorOnBackground:背景色的对应前景色,用于直接放在底层背景上的文本、图标,比如页面普通段落文字、列表的非强调内容文本,是除Surface容器外的常规内容的默认文本色。

4. 错误提示系列

  • colorError:错误状态专用提示色,默认会被输入框错误提示态、错误提示文本、删除类危险按钮、失败状态提示条(Snackbar)背景等组件调用,用来统一标记报错、警告、危险操作这类需要用户重点注意的异常状态。
  • colorOnError:错误色容器的对应前景色,用于错误色容器上的文本、图标,比如危险按钮的文字、错误提示条的内容文字,保证错误状态下的内容可读性。

内容的提问来源于stack exchange,提问作者Taha Sami

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 07:36:03