Android Honeycomb及以上的不同菜单图标

时间:2013-03-31 21:15:43

标签: android android-resources android-drawable

在我的应用程序中,我使用轻型操作栏,在其中放置菜单项的图标。因此,这些图标是黑色的,但在Android中姜饼(和更低)菜单以黑色背景显示。在这种情况下,我需要使用白色版本的图标。我在res/drawable中放置了白色图标,在res/drawable-v11中放置了黑色图标:

└── res
    ├── drawable
    │   ├── ic_action_auth.png
    │   ├── ic_action_refresh.png
    │   └── ic_action_web.png
    └── drawable-v11
        ├── ic_action_auth.png
        ├── ic_action_refresh.png
        └── ic_action_web.png

在Jelly Bean模拟器中运行我的应用程序,图标以黑色正确显示(因此使用drawable-v11,如预期的那样)。 但是在Gingerbread模拟器中,图标也显示为黑色,我无法理解。我不知道我可以给你更多细节。这是我创建的菜单之一,资源res/menu/menu.xml的单一版本:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

    <item
        android:id="@id/action_refresh"
        android:icon="@drawable/ic_action_refresh"
        android:orderInCategory="100"
        android:showAsAction="always"
        android:title="@string/action_refresh"/>
    <item
        android:id="@+id/action_auth"
        android:icon="@drawable/ic_action_auth"
        android:orderInCategory="101"
        android:showAsAction="always"
        android:title="@string/auth"
        android:titleCondensed="@string/auth_condensed">
    </item>

</menu>

1 个答案:

答案 0 :(得分:0)

尝试制作另一个可绘制文件夹:res/drawable-hdpi-v11

另一种选择是使用ActionBarSherlock,以便您的应用可以在旧版Android上拥有ActionBar。这就是我个人推荐的内容。