ActionBarSherlock: изменение homeAsUpIndicator не работает

Я хочу изменить значок вверх, применив следующий стиль к моей активности, но он не работает, но я все равно получаю черную по умолчанию '<' значок.

Может ли кто-нибудь узнать, что здесь отсутствует?

<style name="AppTheme.ActionBar" parent="@style/Theme.Sherlock.Light">
    <item name="actionBarStyle">@style/actionBarStyle</item>
    <item name="android:actionBarStyle">@style/actionBarStyle</item>
</style>

<style name="actionBarStyle" parent="@style/Widget.Sherlock.Light.ActionBar.Solid">
    <item name="android:background">@drawable/header_bar</item>
    <item name="background">@drawable/header_bar</item>

    <item name="android:homeAsUpIndicator">@drawable/up_indicator</item>
    <item name="homeAsUpIndicator">@drawable/up_indicator</item>
    <item name="android:displayOptions">homeAsUp|showHome</item>
    <item name="displayOptions">homeAsUp|showHome</item>

</style>

Ответ 1

Если я правильно помню, , я работал над этой проблемой, перемещая, вы должны переместить элементы android:homeAsUpIndicator и homeAsUpIndicator в основную декларацию темы. Другими словами, попробуйте:

<style name="AppTheme.ActionBar" parent="@style/Theme.Sherlock.Light">
    <item name="actionBarStyle">@style/actionBarStyle</item>
    <item name="android:actionBarStyle">@style/actionBarStyle</item>
    <item name="android:homeAsUpIndicator">@drawable/up_indicator</item>
    <item name="homeAsUpIndicator">@drawable/up_indicator</item>
</style>

<style name="actionBarStyle" parent="@style/Widget.Sherlock.Light.ActionBar.Solid">
    <item name="android:background">@drawable/header_bar</item>
    <item name="background">@drawable/header_bar</item>
    <item name="android:displayOptions">homeAsUp|showHome</item>
    <item name="displayOptions">homeAsUp|showHome</item>
</style>

Не уверен, что мне также нужно было перемещаться вверх по displayOptions, но вы можете захотеть сказать, что переход тоже в случае выше не работает сразу.

Кстати, я нахожу название стиля AppTheme.ActionBar, а затем наследую от Theme.Sherlock.Light довольно запутанным. Если бы это был особый стиль ActionBar, я бы ожидал нечто вроде Widget.Holo.Light.ActionBar (или любого другого стиля виджета) в качестве родителя. Если это ваша главная тема, я бы назвал ее соответствующим образом. До вас, конечно.


Изменить: Обновленный ответ после комментария Джейка.