2012-02-06 2 views
0

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

(в разрешении/рисуем/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" /> 

Затем в файле стиля моего приложения (в Рез/значения/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, если я его поменяю), но я не получаю никаких изменений в стиле на фоне фона панели действий.

Благодаря

ответ

12

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

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

Положите его в Рез/значений/файла style.xml и объявить свой стиль чтобы быть @ style/ActionBar в вашем манифесте.

Подробнее - http://actionbarsherlock.com/theming.html

+0

Отлично, человек, спасибо. Клянусь, я посмотрел на эту тематическую страницу полдюжины раз, не задумываясь. – Paul

+0

Это было верно до ActionBarSherlock 4.0, см. Http://stackoverflow.com/a/11794959/952135 – Oliv

6

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

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