Android选项菜单图标将不会显示

时间:2012-01-18 11:02:29

标签: android options-menu android-optionsmenu android-icons

我正在阅读一本关于Android开发的书,让我开始编写我的第一个真正的应用程序。 我已经达到了为我的一项活动制作选项菜单的程度。菜单显示,但菜单项的相应图标拒绝显示。 这是菜单的代码:

ReminderListActivity

@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
        MenuInflater mi = getMenuInflater();
        mi.inflate(R.menu.list_menu, menu);
        return true;
    }

RES /菜单/ list_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:id="@+id/menu_insert"
        android:icon="@drawable/menu_add"
        android:title="@string/menu_insert" />

</menu>

我已将ic_menu_add.png图标(32x32px)从我的一个Android SDK子文件夹复制到我的res / drawable-mdpi文件夹,并将该文件重命名为menu_add.png。我在eclipse中刷新了文件夹,因此图标显示出来,正如您所看到的,我将其设置为布局文件中菜单项的图标。我尝试在模拟器中运行我的项目几次,但图标永远不会出现。为了记录,我使用的是Android 4.0.3 ..

有什么想法吗?

3 个答案:

答案 0 :(得分:29)

在Android 3.0+上,选项菜单(操作栏中的溢出菜单)的首选方法不会显示图标。如果您有android:targetSdkVersion="11"或更高版本,则Android 3.0+上的菜单中永远不会显示图标。如果您将选项菜单项提升为工具栏按钮,则会显示图标,并且图标将显示在Android 1.x / 2.x设备上。

答案 1 :(得分:5)

这在API 23中非常适用

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">
<item
    android:icon="@drawable/ic_menu"
    android:orderInCategory="100"
    android:title="Option Menu"
    app:showAsAction="always">
    <menu>
        <item
            android:id="@+id/action_myorder"
            android:icon="@drawable/ic_order"
            android:title="My Order" />
        <item
            android:id="@+id/action_myaccount"
            android:icon="@drawable/ic_account"
            android:title="My Account" />
        <item
            android:id="@+id/action_share"
            android:icon="@drawable/ic_share"
            android:title="Share" />
        <item
            android:id="@+id/action_term_condition"
            android:icon="@drawable/ic_terms"
            android:title="Term and Conditions" />
        <item
            android:id="@+id/action_logout"
            android:icon="@drawable/ic_logout"
            android:title="Logout" />
    </menu>
</item>

答案 2 :(得分:0)

一个好主意是您使用RelativeLayout创建了一个布局,当用户选择了您的菜单时,就会显示您的布局。