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

Material Design 3排版令牌正确用法及适用场景咨询

现有实现方式评估

你通过屏幕尺寸桶分级定义字号的方案可以实现基础的响应式排版,但不符合Material Design 3的官方规范,存在两处明显缺陷:

  • 仅定义了字号属性:M3的排版令牌是包含字号、字重、行高、字间距的完整样式集合,只通过dimen配置字号会丢失其余排版属性,最终渲染效果和规范要求存在偏差
  • 维护成本高、适配逻辑过时:手动拆分多套dimens.xml按屏幕尺寸切换字号的方案,后续调整样式需要同步修改多份文件,容易出现全局不一致;同时M3目前推荐基于窗口断点做响应式适配,而非传统的small/large/xlarge屏幕尺寸桶分级。
官方推荐使用方法

Material Components Android库已经预置了全套15种M3排版样式,不需要自行在dimens中重复定义,直接引用即可:

  • 所有预置样式遵循TextAppearance.Material3.<令牌名>的命名规则,例如TextAppearance.Material3.DisplayLarge对应57sp规格的Display类排版令牌
  • 使用时不要单独给控件设置android:textSize属性,直接通过android:textAppearance引用对应样式即可,示例:
<com.google.android.material.textview.MaterialTextView
    ...
    android:textAppearance="@style/TextAppearance.Material3.TitleMedium" />
  • 如果需要全局调整排版参数,直接覆盖对应TextAppearance样式的属性即可,无需逐个控件修改,能保证全App排版一致性。
Headline、Title、Label的使用边界

三者的核心差异是文本的功能定位,和字号无绝对绑定关系,区分规则如下:

  • Headline:面向内容区块的概要标题。适用于页面一级标题、独立卡片/对话框的主标题、大内容区块的概括文本。这类文本通常是短短语,作用是告诉用户当前区块的核心主题,不会出现大段连续的Headline样式文本。
  • Title:面向具体内容条目的次级标题。适用于页面二/三级标题、顶部App栏标题、列表项主文本、菜单项主文本。这类文本和下方的正文内容是明确的从属关系,既可以是短短语,也可以是长度较短的句子,用来标识具体内容项的主题。
  • Label:面向交互组件的功能文本。适用于按钮文本、输入框标签/提示文本、复选框/单选框的配套文本、Chip标签文本、Tab选项文本、短功能提示文本。这类文本几乎都和可交互组件绑定,长度极短,字重通常高于同字号的普通正文,作用是提示用户操作含义、标识交互组件功能。

快速判断技巧:给整块内容区做概要选Headline,给具体内容条目/下级区块做标题选Title,附在按钮、输入框等交互组件上的文本选Label。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 18:45:40