Material Design 是跨平台和设备进行视觉、运动和交互设计的综合指南。要在 Android 应用中使用 Material Design,请遵循 Material Design 规范中定义的指南。如果您的应用使用 Jetpack Compose,可以使用 Compose Material 3 库。如果您的应用使用 View,可以使用 Android Material Components 库。
Android 提供以下功能来帮助您构建 Material Design 应用
- 一个 Material Design 应用主题,用于为所有 UI Widgets 设置样式
- 用于复杂 View(如列表和卡片)的 Widgets
- 用于自定义阴影和动画的 API
Material 主题和 Widgets
要利用 Material 功能(例如为标准 UI Widgets 设置样式),并简化应用的样式定义,请为您的应用应用基于 Material 的主题。


如果您使用 Android Studio 创建 Android 项目,它会默认应用 Material 主题。要了解如何更新项目的主题,请参阅样式和主题。
为了向用户提供熟悉的使用体验,请使用 Material 最常见的 UX 模式
- 使用浮动操作按钮 (FAB) 突出 UI 的主要操作。
- 使用应用栏显示您的品牌、导航、搜索和其他操作。
- 使用导航抽屉式菜单显示和隐藏应用导航。
- 为您的应用布局和导航从众多其他 Material 组件中选择,例如可折叠工具栏、标签页、底部导航栏等。要查看所有组件,请参阅Android Material Components 目录。
尽可能使用预定义的 Material 图标。例如,对于导航抽屉式菜单的导航“菜单”按钮,使用标准的“汉堡包”图标。请参阅Material Design 图标了解可用图标列表。您还可以使用 Android Studio 的矢量资源工作室导入 Material 图标库中的 SVG 图标。
高程阴影和卡片
除了 X 和 Y 属性外,Android 中的 View 还有一个 Z 属性。此属性表示 View 的高程,它决定以下内容
- 其阴影的大小:Z 值越高的 View 投射的阴影越大。
- 绘制顺序:Z 值越高的 View 出现在其他 View 的顶部。

您可以将高程应用于基于卡的布局,这有助于您在提供 Material 外观的卡片内显示重要信息。您可以使用 CardView
widget 创建具有默认高程的卡片。有关更多信息,请参阅创建基于卡的布局。
有关向其他 View 添加高程的信息,请参阅创建阴影和裁剪 View。
动画
动画 API 允许您为 UI 控件中的触摸反馈、View 状态变化和 Activity 过渡创建自定义动画。
这些 API 使您能够
- 通过触摸反馈动画响应 View 中的触摸事件。
- 通过圆形展开动画隐藏和显示 View。
- 通过自定义Activity 过渡动画在 Activity 之间切换。
- 通过曲线运动创建更自然的动画。
- 通过View 状态变化动画为一个或多个 View 属性的变化添加动画。
- 在 View 状态变化之间,在状态列表可绘制对象中显示动画。
触摸反馈动画内置于几个标准 View 中,例如按钮。动画 API 允许您自定义这些动画并将其添加到您的自定义 View 中。
有关更多信息,请参阅动画简介。
可绘制对象
这些可绘制对象功能可帮助您实现 Material Design 应用
- 矢量可绘制对象可缩放而不会损失清晰度,非常适合单色应用内图标。了解更多关于矢量可绘制对象的信息。
- 可绘制对象着色允许您将位图定义为 alpha 蒙版,并在运行时使用颜色为其着色。了解如何为可绘制对象添加着色。
- 颜色提取允许您自动从位图图像中提取主色调。了解如何使用 Palette API 选择颜色。