Android操作栏不会服从背景颜色

时间:2015-06-03 18:45:25

标签: android android-layout android-styles android-actionbar-compat

我刚刚将我的项目更新为目标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>

2 个答案:

答案 0 :(得分:0)

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

<强> RES /值/的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

答案 1 :(得分:0)

好的,我想出来了。当您更新了您正在使用的app compat库的版本时,某些属性的命名空间需要更改。在我的情况下,它正在从android:background变为背景,等等。