再不迁移到Material Design Components 就out啦

翻译自国外文档加自己理解 原文

我们最近宣布了 Material Design Components(MDC)1.1.0 ,这是一个库更新,为您的 Android 应用程序带来了 Material Theming 、新的组件、深色主题和其他令人兴奋的功能。

MDC取代了设计支持库。本指南将向您展示如何迁移代码库,以便您可以使用新的属性,样式和小部件。

精简的主题示例

本指南使用了精简的应用程序来演示迁移过程。它使用AppCompat主题,设计支持库中的小部件(包括具有自定义背景的按钮)以及需要迁移的各种其他元素。我们将从使用传统AppCompat模板的应用程序主题开始:

<style parent="Theme.AppCompat.*"> <item>@color/navy_700</item> <item>@color/navy_900</item> <item>@color/green_300</item> </style>

再不迁移到Material Design Components 就out啦

使用 AppCompat 和 Design Support Library 的 APP

从 Support Library 迁移到 JetPack

在使用MDC之前,您需要从支持库迁移到Android Jetpack。Jetpack使用新的androidx.*名称空间,并将以前的支持库程序包拆分为单独维护的语义版本化的库,从而提供部分功能的新库。MDC是使用AndroidX库构建的,因此必须进行迁移。

要迁移到 AndroidX ,建议您遵循官方开发人员文档。 Android Studio中的 重构 > 迁移到 AndroidX 工具会将您的 Design Support Library 依赖重构成 MDC。

更新到 MDC

首先要将build.gradle 依赖中

com.android.support:design:28.0.0 修改成 com.google.android.material:material:1.0.0

更改主题

需要将 app 的主题修改成 Material Components 主题的子类

<style name = "Theme.App" parent = "Theme.AppCompat.*" 修改成

<style name = "Theme.App" parent = "Theme.MaterialComponents.">

在 MDC 主题中有样式和 AppCompat 一一对应,在大多数情况下,只需要简单的将 AppCompat 替换成 MaterialComponents 就可以了

AppCompat theme MDC-Android theme
Theme.AppCompat   Theme.MaterialComponents  
Theme.AppCompat.NoActionBar   Theme.MaterialComponents.NoActionBar  
Theme.AppCompat.Dialog.*   Theme.MaterialComponents.Dialog.*  
Theme.AppCompat.DialogWhenLarge   Theme.MaterialComponents.DialogWhenLarge  
Theme.AppCompat.Light   Theme.MaterialComponents.Light  
Theme.AppCompat.Light.DarkActionBar   Theme.MaterialComponents.Light.DarkActionBar  
Theme.AppCompat.Light.NoActionBar   Theme.MaterialComponents.Light.NoActionBar  
Theme.AppCompat.Light.Dialog.*   Theme.MaterialComponents.Light.Dialog.*  
Theme.AppCompat.Light.DialogWhenLarge   Theme.MaterialComponents.Light.DialogWhenLarge  
Theme.AppCompat.DayNight   Theme.MaterialComponents.DayNight  
Theme.AppCompat.DayNight.DarkActionBar   Theme.MaterialComponents.DayNight.DarkActionBar  
Theme.AppCompat.DayNight.NoActionBar   Theme.MaterialComponents.DayNight.NoActionBar  
Theme.AppCompat.DayNight.Dialog.*   Theme.MaterialComponents.DayNight.Dialog.*  
Theme.AppCompat.DayNight.DialogWhenLarge   Theme.MaterialComponents.DayNight.DialogWhenLarge  
AppCompat theme overlay MDC-Android theme overlay
ThemeOverlay.AppCompat   ThemeOverlay.MaterialComponents  
ThemeOverlay.AppCompat.Light   ThemeOverlay.MaterialComponents.Light  
ThemeOverlay.AppCompat.Dark   ThemeOverlay.MaterialComponents.Dark  
ThemeOverlay.AppCompat.*.ActionBar   ThemeOverlay.MaterialComponents.*.ActionBar.*  
ThemeOverlay.AppCompat.Dialog.*   ThemeOverlay.MaterialComponents.Dialog.*  
N/A   ThemeOverlay.MaterialComponents.*.BottomSheetDialog  
N/A   ThemeOverlay.MaterialComponents.MaterialAlertDialog.*  
N/A   ThemeOverlay.MaterialComponents.MaterialCalendar.*  
N/A   ThemeOverlay.MaterialComponents.Toolbar.*  
例子更新

再不迁移到Material Design Components 就out啦

Button 改变

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zypxxp.html