Изменить цвет фона на Android ActionBar

Я пытался изменить цвет фона моего 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 ответа

Если вы нацелены на минимальный уровень 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>

И установите "MyTheme" в качестве темы для приложения / деятельности.

Вы также можете использовать этот онлайн-инструмент для создания полностью настроенного ActionBar. Вот инструмент

Также возможно изменить цвет ActionBar программно, просто позвоните по этой строке:

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

Это также возможно через getSupportActionBar() (если вы используете ActionBarSherlock).

Другие вопросы по тегам