android - 如何为迁移到 MaterialComponents、AndroidX 和 AppCompat 的应用设置样式

标签 android androidx material-components-android

我想迁移到:

  • androidx.appcompat:appcompat
  • com.google.android.material:material

忘记支持库依赖性,但我有一些问题:

  1. 为了保持兼容性,我应该为 ProgressBar 使用哪种样式?

    • v21:Widget.ProgressBar.Horizo​​ntal
    • 支持库:Widget.AppCompat.ProgressBar
  2. 什么时候应该使用 compat 样式与 materialcomponents 样式? 像 @style/TextAppearance.MaterialComponents.Body1TextAppearance.AppCompat.Title 吗?

我仍然对 MaterialComponentsAppCompat 库的差异感到困惑。

最佳答案

MaterialComponents 构建在 AppCompat 之上,因此通常 AppCompat 样式都可以使用。但是,如果存在样式的 MaterialComponents 版本,您应该改用它。

特别是对于 ProgressBar,截至目前还没有 MaterialComponents 版本,因此您应该使用 AppCompat 样式,例如 Widget.AppCompat.ProgressBar。这里有来自类似问题的更多信息:https://github.com/material-components/material-components-android/issues/218

关于android - 如何为迁移到 MaterialComponents、AndroidX 和 AppCompat 的应用设置样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53344551/

相关文章:

java - 找不到符号 STORAGE_PATH UPLOADS

多次成功连接后,Android GATT 服务返回 Null

android - 自定义后 Material 复选框样式

android - 覆盖 editTextStyle 不适用于最新的 Material Components 基本样式

安卓 adb "Unable to open sync connection!"

java - Android应用程序崩溃问题

android - 尝试为 Unity 构建 Android 插件时无法获取提供程序 androidx.core.content.FileProvider ClassNotFoundException

android - 如何在AndroidUnitTest中获取应用程序

java - AndroidX 迁移 AndroidTestCase、AndroidJUnit4 和 InstrumentationRegistry.getTargetContext 后已弃用

android - 如何在底部应用栏前设置FAB?