Android 操作栏不会遵循背景颜色

Android Action bar won't obey background color

我刚刚将我的项目更新为目标 API 22,但我的操作栏样式似乎已损坏。尽管将背景设置为白色,将颜色设置为蓝色,但我最终还是得到了一个带有白色文本的黑色操作栏。

这是我的应用主题。

<style name="AppTheme" parent="AppBaseTheme">
    <!-- All customizations that are NOT specific to a particular API-level can go here. -->
    <item name="android:actionBarStyle">@style/MyActionBar</item>
    <item name="android:homeAsUpIndicator">@drawable/up_button</item>
    <item name="android:actionMenuTextAppearance">@style/H4.Other</item>
    <item name="android:actionMenuTextColor">@color/h4_other</item>
    <item name="android:windowContentOverlay">@drawable/header_shadow</item>
    <item name="android:buttonStyle">@style/ButtonStyle.NoCaps</item>
</style>

这是我的操作栏样式。

<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
    <item name="android:title">""</item>
    <item name="android:background">@color/white</item>
    <item name="android:height">@dimen/action_bar_height</item>
    <item name="android:titleTextStyle">@style/H5.Blue</item>
</style>

仅支持 Android 3.0 及更高版本时,您可以这样定义操作栏的背景:

res/values/themes.xml

<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme"
       parent="@android:style/Theme.Holo.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/MyActionBar</item>
</style>

<!-- ActionBar styles -->
<style name="MyActionBar"
       parent="@android:style/Widget.Holo.Light.ActionBar.Solid.Inverse">
    <item name="android:background">@color/white</item>
</style>
</resources>

然后将您的主题应用到您的整个应用或单个活动:

<application android:theme="@style/CustomActionBarTheme" ... />

阅读Android Documentation

好的,我明白了。当您更新了所使用的应用兼容库的版本后,某些属性的命名空间需要更改。在我的例子中,它正在从 android:background 变为仅背景等等。