共计 2286 个字符,预计需要花费 6 分钟才能阅读完成。
为了保障您的利用与用户设施中装置的其余利用在视觉和行为上保持一致,咱们 举荐 您遵循 Material Design 标准,因为用户从一个利用中学习的操作模式能够无缝连接地在另一个利用中应用。
Android 用户心愿您的利用在视觉和行为上与零碎保持一致。您在设计视觉和导航模式时应该遵循 Material Design 标准…
—— d.android.com/design
您能够应用 Material Design Components (MDC) 组件库来 实现 这一目标。本文将列出应用 MDC 的劣势,从而阐明咱们举荐应用它的起因。
组件
MDC 提供了零碎规范组件的 Material 版本,例如 Buttons、Toolbars、CheckBox 等等,应用这些组件能轻松实现 Material 格调。如果您应用了 MaterialComponents 主题,当您 inflate 一个 layout (通过 MDC 的 View Inflater) 时,被实例化是 Material 组件而不是规范组件,因而您不须要对布局进行重大的更新就能轻松实现 Material 格调。
<!-- Copyright 2019 Google LLC.
SPDX-License-Identifier: Apache-2.0 -->
<!-- 规范组件 Button 将会被替换为 MaterialButton -->
<Button ... />
<!-- 您甚至能够应用 MaterialButton 特定的属性 -->
<Button ...
app:icon="@drawable/foo"/>
<!-- 如果您想用具备向后兼容能力的 AppCompatButton 而不是 MaterialButton,您能够这样做 -->
<androidx.appcompat.widget.AppCompatButton ... />
所有 Material 组件都继承自对应的 AppCompat 组件,因而它们享有雷同的向后兼容能力和新版本的 bug 修复。
Material 组件在对应的零碎规范组件和 AppCompat 组件的根底上拓展出更多样式和性能,例如 MaterialButton 领有以下多种款式:
<!-- Copyright 2019 Google LLC.
SPDX-License-Identifier: Apache-2.0 -->
<!-- Contained button -->
<Button ...
style="?attr/materialButtonStyle"/>
<!-- Text button -->
<Button ...
style="?attr/borderlessButtonStyle"/>
<!-- Outlined button -->
<Button ...
style="?attr/materialButtonOutlinedStyle"/>
我最喜爱的性能之一是应用 MaterialTextView 替换 TextView,它 新增的性能 能够很不便地在 TextAppearance 中设置行高。
除了拓展现有组件的性能外,MDC 还提供了一系列全新的组件。您可能晓得 Bottom Navigation、Bottom Sheet 和 Floating Action Button,但未必据说过 Chips、Date Picker 和 Time Picker。
MDC 提供的全副组件列单,请查阅 —— 组件。
Material 主题
Material 主题 能够更系统地 自定义 Material Design 款式来体现您的产品品牌。Material 主题包含 色彩、字体款式 和 形态 属性。对其进行自定义将主动利用到您用于构建利用的组件上。
您能够将 Material 主题了解为创立设计零碎的设计零碎 🤯。您只需配置好色彩、字体款式和形态,即可失去一套基于您品牌的残缺设计零碎。
Nick Rout 在以下文章中别离深刻地介绍了这三个子系统:
- 打造 Material 色彩主题 | 实现篇
- 打造 Material 字体款式主题|实现篇
- 打造 Material 形态主题 | 实现篇
深色主题
MDC 组件遵循 Material 的 深色主题背景标准 实现了深色主题。在深色主题下,许多组件都将调整它们的色彩,并且在暗影不可见的状况下增加了 elevation 叠加层以体现高度变动。
Chris Banes 在上面这篇文章中深刻介绍了 MDC 的深色主题:
- 应用 Material Design 组件实现深色主题
Material 动效 🆕
Material Design 还针对转场动画制订了标准。当初,MDC 不仅提供了 标准,还将这些模式实现为 Transition 以便您在利用中应用。
Hunter Stich 在上面这篇文章中介绍了 Material Motion 库:
- 应用 Material Design 组件实现 Material 动效
应用 Compose
Jetpack Compose 是 Android 零碎的下一代 UI 工具包,目前 已正式公布。它会提供 Material 格调的组件和主题。尽早应用 MDC 将为将来迁徙至 Jetpack Compose 做好筹备 — 它们应用了雷同的概念、设计名词和组件。您甚至能够应用相似 MDC-Android Compose 主题适配器 的库来简化迁徙过程,该库将 XML 实现的 MDC 主题转换为 Compose 的 MaterialTheme。
举荐应用 Material
心愿您曾经分明咱们举荐应用 Material Design Components 构建 Android UI 的起因。咱们 近期更新 了在 Android Studio 中通过 File > New Project 菜单新建的模版,这些模版为您预设置了 Material 主题并应用了 MDC,因而您能够更容易的开始应用 MDC。如果您还没有迁徙到 MDC,请查看咱们的 迁徙指南。