Значок меню настроек Android не будет отображаться - PullRequest
16 голосов
/ 18 января 2012

Я слежу за книгой по Android Development, чтобы начать писать свое первое настоящее приложение.Я дошел до того, что я делаю меню опций для одного из моих занятий.Меню появляется, но соответствующий значок пункта меню не отображается.Вот код для меню:

ReminderListActivity

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

res / menu / 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 ]

30 голосов
/ 18 января 2012

В Android 3.0+ предпочтительный подход к меню параметров (побочное меню на панели действий) не будет отображать значки.Если у вас android:targetSdkVersion="11" или выше, значки никогда не будут отображаться в меню на Android 3.0+.Значки появятся, если вы сделаете пункт меню параметров кнопкой на панели инструментов, и значки появятся на устройствах Android 1.x / 2.x.

5 голосов
/ 27 мая 2016

Это прекрасно работает для меня в 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>

0 голосов
/ 23 февраля 2014

Хорошей идеей является то, что вы создали макет с помощью RelativeLayout, и когда пользователь выбрал ваше меню, отображается ваш макет.

...