【问题标题】:Attributes are ignored in my app theme (style)我的应用主题(样式)中忽略了属性
【发布时间】:2020-07-12 16:04:05
【问题描述】:

我有基本主题

<style name="BaseAppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">
    <item name="colorPrimary">@color/color_primary</item>
    ...
</style>

以及继承它的AppTheme

<style name="AppTheme" parent="BaseAppTheme" >
    <item name="colorPrimary">#FFFF0000</item>
    <item name="android:statusBarColor">@color/transparent</item>
</style>

并被用作应用程序的主题,即

<application
...
    android:theme="@style/AppTheme"
... 
    >
    <activity
        android:name=".MainActivity"
        android:theme="@style/AppTheme"/>
</application>

问题是AppTheme 中的属性(例如&lt;item name="colorPrimary"&gt;#FFFF0000&lt;/item&gt;&lt;item name="android:statusBarColor"&gt;@color/transparent&lt;/item&gt;,所有这些)都被忽略了。但是,如果我将它们添加到BaseAppTheme,那么它们将起作用。为什么AppTheme 中的属性会被忽略,如何解决?

【问题讨论】:

  • 我也试过了,效果很好!在 statusBarColor 中尝试使用其他颜色!我试过 #C51D1D 并且效果很好!
  • @IR42 也许您在某处使用 BaseAppTheme,例如在
  • 尝试重新计费并清除缓存,您的问题可能来自那里!
  • 如果您的问题仍然存在,您能否显示清单文件?如果不是,那么您可以将我的答案标记为正确!
  • @AndriyD。我意识到我将 attrs 添加到 value\themes 但在 android 10 上进行了测试并且没有删除 values-v29\themes 中的空 AppTheme .. 现在感觉很愚蠢 :) 虽然这在 values-v29\themes 和 android 10 之前发生过,但感谢大家的帮助

标签: android android-manifest android-theme


【解决方案1】:

您是否仅在 values/styles.xml 中有 AppTheme?也许你有包含 AppTheme 的 values-v21/styles.xml,所以问题在那里或类似的东西?

【讨论】:

  • 是的。就是这样。这太疯狂了。您自然会认为带后缀的版本继承并覆盖了不带后缀的版本。
猜你喜欢
  • 2011-02-26
  • 2014-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-04
  • 1970-01-01
  • 2019-12-30
相关资源
最近更新 更多