再不迁移到Material Design Components 就out啦 (4)

用 MDC 版本的组件来替换

<!-- Copyright 2020 Google LLC. SPDX-License-Identifier: Apache-2.0 --> -<androidx.cardview.widget.CardView +<com.google.android.material.card.MaterialCardView android:id="@+id/card" ...> ... -</androidx.cardview.widget.CardView> +</com.google.android.material.card.MaterialCardView> -<androidx.appcompat.widget.SwitchCompat +<com.google.android.material.switch.SwitchMaterial android:id="@+id/switch" ... /> 颜色

MDC的颜色调色板直接从 Material Design color system 中绘制。

由于MDC-Android,AppCompat和框架之间共享历史记录,因此,颜色属性集包括以下内容:

框架中已适当命名的现有属性(例如android:colorBackground)

AppCompat中已适当命名的现有属性(例如colorPrimary和colorError)

新的属性由MDC介绍(如colorSurface,colorOnPrimary等)

再不迁移到Material Design Components 就out啦

MDC窗口小部件使用这些属性来为其背景,文本,图标等着色。要了解哪些小部件使用哪种颜色,需要检查源代码中的默认小部件样式。

AppCompat和框架中还存在一些颜色,但不再适用于此新系统。该Theme.MaterialComponents.*主题尽最大努力向后兼容他们,例如小部件,这些旧属性。

<item>?attr/colorSecondary</item>

但是,您应该考虑不推荐使用这些属性。使用更合适的MDC属性或逐步淘汰它们。

请参阅下面的颜色属性映射表:

注意 AppCompat 中的颜色属性就不要再使用了

AppCompat /框架颜色属性 MDC-Android颜色属性
colorPrimary   colorPrimary  
colorPrimaryDark   colorPrimaryVariant (android:statusBarColor明确指定)  
不适用   colorOnPrimary  
colorAccent   colorSecondary  
不适用   colorSecondaryVariant  
不适用   colorOnSecondary  
不适用   colorSurface  
不适用   colorOnSurface  
android:colorBackground   android:colorBackground  
不适用   colorOnBackground  
colorError   colorError  
不适用   colorOnError  
android:textColorPrimary,android:textColorSecondary等等。   N / A (建议将MDC设置为“ on”属性或使用默认值)  
colorControlNormal,colorControlHighlight,colorControlActivated   N / A (“接通”或ATTRS使用默认偏好MDC) 注意:这些仍然被用来着色,,和。  
例子 <style parent="Theme.MaterialComponents.*"> ... <item>@color/navy_700</item> - <item>@color/navy_900</item> + <item>@color/navy_900</item> - <item>@color/green_300</item> + <item>@color/green_300</item> + <item name=”colorSecondaryVariant”>@color/green_500</item> + <item>@color/navy_900</item> </style>

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

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