7

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では見た目が異なります。この問題を解決する方法。

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 に答える