Значок меню параметров Android не будет отображаться - программирование
Подтвердить что ты не робот

Значок меню параметров Android не будет отображаться

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

ReminderListActivity

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

Рез/меню/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.

Любые идеи?

4b9b3361

Ответ 1

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

Ответ 2

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

Ответ 3

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