Элементы меню Android не отображаются сразу

У меня есть два пункта меню: Настройки и Выход. Когда я запускаю свой код с обоими настройками showAsAction:"всегда", ни один из них не появляется на экране, когда я нажимаю кнопку меню на моем телефоне. Это также произойдет, если я установлю оба "ifRoom". Однако, если я установлю один на "никогда", появится другой. Как я могу получить оба элемента, чтобы показать? Я использую 3,5-дюймовый телефон Android 4.1.2. Я использую android:theme="@style/Theme.AppCompat" тема.

<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" >

    <group android:checkableBehavior="single">

    <item android:id="@+id/action_settings"
        android:title="@string/action_settings"
        android:orderInCategory="100"
        app:showAsAction="ifRoom|withText"
        android:icon="@drawable/sun"/>

    <item android:id="@+id/exit_the_app"
        android:title="@string/options_exit_text"
        app:showAsAction="ifRoom|withText"
        android:orderInCategory="101"
        android:icon="@drawable/night"/>
    </group>
</menu>

Это экран, когда оба элемента установлены на "always" или "ifRoom", элементы меню не отображаются:две куклыЭто экран, когда в настройках установлено "никогда", появляется элемент выхода:
ttwtwКажется, места достаточно, так как мне сделать так, чтобы оба предмета появились? Спасибо.

1 ответ

Решение

Когда для showAsAction задано значение ifRoom или всегда элемент отображается на панели действий вместо меню переполнения (только если в случае ifRoom есть место). Это ожидаемое поведение.

Если вы хотите, чтобы они оба отображались в меню переполнения, установите для showAsAction значение never для обоих.

Я предлагаю прочитать документацию: http://developer.android.com/guide/topics/ui/actionbar.html

Другие вопросы по тегам