Фоновое изображение Actionbarsherlock

Возникли проблемы с переопределением стилей ActionBarSherlock, надеюсь, кто-то может помочь. Я создал рисунок следующим образом:

(в res/drawable/actionbar_background.xml)

<?xml version="1.0" encoding="utf-8"?>
<bitmap xmlns:android="http://schemas.android.com/apk/res/android"
    android:src="@drawable/bg"
    android:tileMode="repeat" />

Затем в файле стиля моего приложения (в res/values/style.xml)

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="ActionBar" parent="@android:style/Widget.Holo.ActionBar">
    <item name="android:background">@drawable/actionbar_background</item>
</style>
<style name="my_theme" parent="@style/Theme.Sherlock.Light">
        <item name="android:actionBarStyle">@style/ActionBar</item>
    </style>
</resources>

В результате подбирается стиль Theme.Sherlock.Light (или Theme.Sherlock, если я его поменяю), но я не получаю никаких изменений в стиле самого фона панели действий.

Спасибо


person Paul    schedule 06.02.2012    source источник


Ответы (2)


Это должно дать вам стиль Theme.Sherlock.Light с вашим пользовательским фоном панели действий:

<style name="ActionBar" parent="Theme.Sherlock.Light">
    <item name="abBackground">@drawable/actionbar_background</item>
</style>

Поместите его в свой файл res/values/style.xml и объявите свой стиль как @style/ActionBar в своем манифесте.

Дополнительная информация – http://actionbarsherlock.com/theming.html.

person Kavi    schedule 06.02.2012
comment
Отлично, чувак, спасибо. Клянусь, я просматривал эту тематическую страницу полдюжины раз, но ничего не понял. - person Paul; 06.02.2012
comment
Это было верно до ActionBarSherlock 4.0, см. stackoverflow.com/a/11794959/952135 - person Oliv; 20.11.2012

Для версии 4.0+ вы можете просто использовать имя элемента «фон».

<style name="ActionBar" parent="Theme.Sherlock.Light">
    <item name="background">@drawable/actionbar_background</item>
</style>
person Robert Greathouse    schedule 31.03.2012