Изменение значка homeAsUpIndicator в панели действийSherlock не влияет на ICS?

Я пытаюсь изменить значок homeAsUpIndicator в файле ActionBar. Я использую ActionBarSherlock для совместимости со старыми версиями Android. Я установил определенную тему для своей активности, когда приложение запускается на устройстве с более старыми версиями ICS и ICS, оно показывает разные цвета.

Это стиль, который я использую

<style name="Theme.PM" parent="@style/Theme.Sherlock.Light">

    <item name="android:homeAsUpIndicator">@drawable/back_sign</item> 
    <item name="homeAsUpIndicator">@drawable/back_sign</item>

</style>

как на этом изображении ниже. Для ICS видно, что дом в качестве индикатора вверх выглядит черным цветом.

введите здесь описание изображения

Для более старых версий ICS видно, что дом в качестве индикатора вверх выглядит белым цветом.

введите здесь описание изображения

Я использую одно и то же изображение для обеих версий, но в ICS оно выглядит по-разному. Как решить эту проблему..


person RajaReddy PolamReddy    schedule 27.03.2013    source источник


Ответы (1)


<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">

    <style name="CustomStyleUpAsHome" parent="Theme.Sherlock.Light">
        <item name="android:actionBarStyle">@style/CustomActionBarUpAsHome</item>
        <item name="android:homeAsUpIndicator">@drawable/arrow_home</item>
        <item name="homeAsUpIndicator">@drawable/arrow_home</item>
    </style>

    <style name="CustomActionBarUpAsHome" parent="CustomActionBar">
        <item name="android:displayOptions">homeAsUp|useLogo|showHome</item>
        <item name="displayOptions">homeAsUp|useLogo|showHome</item>
    </style>

</resources>

<activity
    android:name=".activity.Activity"
    android:screenOrientation="portrait"
    android:theme="@style/CustomStyleUpAsHome">
</activity>

Этот код отлично работает. Попробуйте сделать что-то подобное. Может быть, это поможет вам.

Удачи!

person Ilya Demidov    schedule 27.03.2013
comment
привет, если я использую ваш код .. это дает ошибку для этого родительского CustomActionBar. Ресурс для этого родителя не найден. Можешь направить. Я хочу изменить изображение кнопки «Назад». - person djk; 07.03.2014
comment
Привет. CustomActionBar — это стиль, который расширяет тему панели действий по умолчанию. Например, ‹style name=CustomActionBar parent=style/Widget.AppCompat.ActionBar› , если вы используете библиотеку совместимости или можете расширить темы Sherlock или Platform. Удачи! - person Ilya Demidov; 07.03.2014