【问题标题】:colorAccent or colorSecondary with Material Component theme带有 Material Component 主题的 colorAccent 或 colorSecondary
【发布时间】:2019-11-24 20:43:20
【问题描述】:

使用 Android Studio 向导创建新应用时,会使用派生自 Theme.MaterialComponents.Light.DarkActionBar 的主题并设置 colorAccent。另一方面,official documentation 使用colorSecondary,根本没有提到colorAccent。两者可以互换吗?喜欢什么?

【问题讨论】:

  • 在我的情况下没有任何 Theme.MaterialComponents
  • 可能是因为我在设置向导中检查了使用 androidx。就我而言,它是 Android Studio 设置新应用的默认主题。
  • 好的,我再次检查...它似乎是 com.google.android.material:material 包的一部分,请参阅material.io/develop/android/docs/getting-started,我似乎在某个时候手动添加了它。

标签: android android-theme material-components material-components-android


【解决方案1】:

Theme.MaterialComponents 使用colorSecondary,如material guidelinesofficial doc 中所述。 库中定义的所有组件都使用该属性。

但是,在库中,还有从 AppCompat 主题继承的 Bridge themes,如果您无法将主题更改为从 Material Components 主题继承,则可以使用它们。
这些主题继承自 AppCompat 主题,为您定义了新的 Material Components 主题属性。

您可以查看bridge theme in the library

<style name="Base.V14.Theme.MaterialComponents.Light" parent="Base.V14.Theme.MaterialComponents.Light.Bridge">

  <!-- Colors -->
  <item name="colorAccent">?attr/colorSecondary</item>

您可以在此处找到这些主题的colorSecondarycolorAccent 之间的映射。

【讨论】:

    【解决方案2】:

    是的,我确实相信colorSecondarycolorAccent 的新术语,并且可以互换,因为如果您阅读docs,特别是它所说的二次色的定义

    辅助颜色提供了更多强调和区分您的 产品。具有辅助颜色是可选的,应该应用 谨慎地强调选择用户界面的部分。

    我猜从那句话中可以很清楚地看出它们都有相同的目的。

    【讨论】:

      【解决方案3】:

      根据材料设计文档,原色和副色实际上是Android Studio中的primaryColoraccentColor。但如果需要更多变化,则可以使用 secondaryColor

      所以更喜欢在 Android Studio 中使用 AccentColor 标签来定义 Material Design 文档中的辅助颜色。

      您可以尝试一些材质调色板,例如 https://www.materialpalette.com 来了解行为。

      【讨论】:

      • 不确定这是否正确。随着我越来越多地阅读它,似乎accentColor 用于AppCompat 主题,secondaryColor 用于MaterialComponents 主题,请参阅here for example。但绝对令人困惑。
      • 在查看了所有文章之后,看起来 colorSecondary 是应该与 Material design 一起使用的东西。如果只使用 AppCompat 主题,我会使用accentColor。
      猜你喜欢
      • 2021-10-01
      • 2015-01-26
      • 1970-01-01
      • 1970-01-01
      • 2018-12-16
      • 2020-09-06
      • 2020-05-08
      • 2021-01-29
      • 2019-02-08
      相关资源
      最近更新 更多