Значки меню Android не отображаются, если уровень API выше 10 - PullRequest
6 голосов
/ 29 ноября 2011

Я пытаюсь что-то проверить с помощью опций меню в Android .. И я заметил, что значки меню не отображаются, если targetSdkVersion больше 10 ...

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
   <item android:id="@+id/about" android:title="@string/about_label"
   android:icon="@android:drawable/ic_menu_info_details" android:alphabeticShortcut="a" />
   <item android:id="@+id/help" android:title="@string/help_label"
   android:icon="@android:drawable/ic_menu_help" android:alphabeticShortcut="h" />
</menu>

Я пытаюсь отладить, и я не уверен, с чего начать.

Ответы [ 2 ]

7 голосов
/ 29 ноября 2011

Начиная с API Level 11 (Android Honeycomb) Android представила новую концепцию меню. Устройства, созданные для этого уровня API, больше не имеют клавиши меню. Вместо отображения меню после нажатия клавиши есть новый компонент пользовательского интерфейса: Панель действий . Панель действий теперь отображает столько пунктов меню, сколько позволяет пространство, и после этого создает кнопку, которая будет отображать остальные элементы меню в оверлее.

Я бы предположил, что вы используете какую-то тему для своей деятельности, которая препятствует появлению панели действий, и поэтому никакие пункты меню не видны. Также прочитайте руководство о том, как поддерживать планшеты и трубки , чтобы начать понимать, как работает новая панель действий.

1 голос
/ 25 апреля 2014
<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="com.ktcmynewapp.MainActivity" >

    <item
        android:id="@+id/action_settings1"
        android:icon="@drawable/image1"`enter code here`
        android:orderInCategory="100"
        android:title="home1"
        app:showAsAction="never">
        <menu>
            <item
                android:id="@+id/action_settings2"
                android:icon="@drawable/image2"
                android:orderInCategory="100"
                android:title="home1"
                app:showAsAction="never"/>
            <item
                android:id="@+id/action_settings3"
                android:icon="@drawable/image3"
                android:orderInCategory="100"
                android:title="home2"
                app:showAsAction="never"/>
        </menu>
    </item>
    <item
        android:id="@+id/action_settings4"
        android:icon="@drawable/image2"
        android:orderInCategory="100"
        android:title="home2"
        app:showAsAction="never"/>

</menu>

В этом коде внешние пункты меню отображаются без значков, но внутренние элементы подменю отображаются правильно с иконками.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...