【问题标题】:How to style an app migrating to MaterialComponents, AndroidX and AppCompat如何为迁移到 MaterialComponents、AndroidX 和 AppCompat 的应用设置样式
【发布时间】:2019-04-20 00:53:38
【问题描述】:

我想迁移到:

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

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

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

    • v21:Widget.ProgressBar.Horizontal
    • 支持库:Widget.AppCompat.ProgressBar
  2. 什么时候应该使用兼容样式和 materialcomponents 样式? 喜欢@style/TextAppearance.MaterialComponents.Body1TextAppearance.AppCompat.Title

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

【问题讨论】:

  • MaterialComponents 主题是 com.google.android.material:material 包的一部分,而 AppCompat 主题是(惊喜)androidx.appcompat:appcompat 包的一部分。
  • 区别在于MaterialComponents实现了新的Material Design刷新规范,如com.google.android.material.button.MaterialButtoncom.google.android.material.bottomappbar.BottomAppBar等。
  • @Edric 但是我应该选择哪一个?
  • @Edric 如果没有支持样式,那么我应该使用材料吗?反之亦然?

标签: android androidx material-components-android


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-04-22
    • 2020-03-04
    • 1970-01-01
    • 1970-01-01
    • 2015-03-20
    • 2020-02-03
    相关资源
    最近更新 更多