ActionbarSherlock中homeAsUpIndicator图标的更改在ICS中不起作用?

时间:2013-03-27 05:00:57

标签: android actionbarsherlock

我尝试更改homeAsUpIndicator中的ActionBar图标。我使用ActionBarSherlock与较旧的Android版本兼容。当App在具有较旧版本的ICS和ICS的设备上运行时,我为我的Activity设置了一个特定的主题,它显示了不同的颜色。

这是我正在使用的风格

<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来说,家庭作为向上指示器看起来像黑色。

enter image description here

对于较旧版本的ICS,请将该家作为向上指示器看起来像白色。

enter image description here

我对两个版本使用相同的图像,但它在ICS上看起来有所不同。如何解决这个问题..

1 个答案:

答案 0 :(得分:13)

<?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>

此代码效果很好。尝试做那样的事情。可能它会帮助你。

祝你好运!