在Android ActionBar上更改背景颜色

时间:2014-09-07 14:53:54

标签: android eclipse android-actionbar background-color

我一直在尝试在我的应用中更改 ActionBar 的背景颜色。但它似乎给了我一些错误。

<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- the theme applied to the application or activity -->
<style name="CustomActionBarTheme"
       parent="@style/Theme.AppCompat.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/MyActionBar</item>

    <!-- Support library compatibility -->
    <item name="actionBarStyle">@style/MyActionBar</item>
</style>

<!-- ActionBar styles -->
<style name="MyActionBar"
       parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
    <item name="android:background">@drawable/actionbar_background</item>

    <!-- Support library compatibility -->
    <item name="background">@drawable/actionbar_background</item>
</style>

我得到的错误是

<item name="background">@drawable/actionbar_background</item>

我只想将actionBar的背景更改为其他颜色。

帮助将不胜感激。感谢

3 个答案:

答案 0 :(得分:0)

如果您的目标是最低API级别11,则可以通过定义自定义样式来更改ActionBar的背景颜色,如下所示:

<resources>
    <style name="MyTheme" parent="@android:style/Theme.Holo.Light">
        <item name="android:actionBarStyle">@style/MyActionBar</item>
    </style>

    <style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
        <item name="android:background">ANY_HEX_COLOR_CODE</item>
    </style>
</resources>

并设置&#34; MyTheme&#34;作为申请/活动的主题。

答案 1 :(得分:0)

您还可以使用此在线工具生成完整的自定义ActionBar Here is tool

答案 2 :(得分:0)

也可以通过编程方式更改ActionBar的颜色,只需调用此行:

getActionBar().setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.my_color)));

这也可以通过getSupportActionBar()(如果你使用 ActionBarSherlock )。