Android 版 Material Design

尝试 Compose 方式
Jetpack Compose 是推荐的 Android UI 工具包。了解如何在 Compose 中处理主题设置。

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 的主题。

图 1. 深色 Material 主题。
图 2. 浅色 Material 主题。

如果您使用 Android Studio 创建 Android 项目,它会默认应用 Material 主题。要了解如何更新项目的主题,请参阅样式和主题

为了向用户提供熟悉的使用体验,请使用 Material 最常见的 UX 模式

尽可能使用预定义的 Material 图标。例如,对于导航抽屉式菜单的导航“菜单”按钮,使用标准的“汉堡包”图标。请参阅Material Design 图标了解可用图标列表。您还可以使用 Android Studio 的矢量资源工作室导入 Material 图标库中的 SVG 图标。

高程阴影和卡片

除了 XY 属性外,Android 中的 View 还有一个 Z 属性。此属性表示 View 的高程,它决定以下内容

  • 其阴影的大小:Z 值越高的 View 投射的阴影越大。
  • 绘制顺序:Z 值越高的 View 出现在其他 View 的顶部。
图 3. 表示高程的 Z 值。

您可以将高程应用于基于卡的布局,这有助于您在提供 Material 外观的卡片内显示重要信息。您可以使用 CardView widget 创建具有默认高程的卡片。有关更多信息,请参阅创建基于卡的布局

有关向其他 View 添加高程的信息,请参阅创建阴影和裁剪 View

动画

图 4. 触摸反馈动画。

动画 API 允许您为 UI 控件中的触摸反馈、View 状态变化和 Activity 过渡创建自定义动画。

这些 API 使您能够

  • 通过触摸反馈动画响应 View 中的触摸事件。
  • 通过圆形展开动画隐藏和显示 View。
  • 通过自定义Activity 过渡动画在 Activity 之间切换。
  • 通过曲线运动创建更自然的动画。
  • 通过View 状态变化动画为一个或多个 View 属性的变化添加动画。
  • 在 View 状态变化之间,在状态列表可绘制对象中显示动画。

触摸反馈动画内置于几个标准 View 中,例如按钮。动画 API 允许您自定义这些动画并将其添加到您的自定义 View 中。

有关更多信息,请参阅动画简介

可绘制对象

这些可绘制对象功能可帮助您实现 Material Design 应用