7

我尝试homeAsUpIndicator更改ActionBar. 我曾经ActionBarSherlock与旧的 Android 版本兼容。当应用程序在具有旧版 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,将主页视为向上指示器看起来像黑色。

在此处输入图像描述

对于旧版本的 ICS,将主页视为向上指示器看起来像白色。

在此处输入图像描述

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

4

1 回答 1

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>

这段代码很好用。尝试做类似的事情。也许它会帮助你。

祝你好运!

于 2013-03-27T07:40:22.357 回答