1

Когда я раздуваю меню, некоторые элементы отображаются в нижней панели, а остальные отображаются в обычном меню настроек Android 2. Я пробовал с android:uiOptions="none" в манифесте , но затем нижняя панель исчезнет, ​​и меню параметров останется.MenuItem отображается на нижней панели

Что я хочу сделать, это добавить пункт меню в панель действий!

Вот макет меню

<menu xmlns:android="http://schemas.android.com/apk/res/android" > 
<item 
    android:id="@+id/menu_support" 
    android:icon="@drawable/icon_close" 
    android:showAsAction="always" 
    android:title="@string/menu_support" 
    android:visible="true"/>  
<item 
    android:id="@+id/menu_feedback" 
    android:orderInCategory="100" 
    android:showAsAction="never" 
    android:title="@string/menu_feedback"/>  
<item 
    android:id="@+id/menu_settings" 
    android:orderInCategory="100" 
    android:showAsAction="never" 
    android:title="@string/menu_settings"/> 
</menu> 

и здесь является onCreateMenuOptions:

@Override 
public boolean onCreateOptionsMenu(Menu menu) {    
    getSupportMenuInflater().inflate(R.menu.activity_main, menu); return true; 
} 

ответ

2

Меню опций всегда видно, так как новая конструкция для устройства не имеет кнопку меню.

Я бы предположил, что у вас есть setDisplayShowHomeEnabled(false) и setDisplayShowTitleEnabled(false). Тогда, когда вы установили android:uiOptions никому, это приведет к тому, что ваш Actionbar исчезнет, ​​но сохранит значок меню параметров. Вы должны сохранить это как splitActionBarWhenNarrow, если вы отключите верхнюю часть Actionbar.

Наконец, чтобы понять суть вашего вопроса. У вас есть один элемент, который установлен как android:showAsAction=always. Этот параметр всегда отображается как значок на панели действий. Остальные два настроены никогда. Они всегда будут отображаться в меню опций.

never = показать как значок действия на панели действий.

ifRoom = отображается как значок действия на панели действий, если на панели действий есть место, но в меню параметров, если нет места.

always = всегда отображается в меню параметров.

| withText = добавляет подсказку, чтобы показать название действия, если на панели действий есть место.

Правило большого пальца состоит в том, чтобы устанавливать только два элемента, как всегда, как действия, так что Actionbar не переполняется на небольших устройствах. На более крупных устройствах параметры ifRoom будут отображаться как Actionbar элементов, а не пунктов меню опций.

+0

Нет, я не отключу верхнюю панель действий, а дом включен. Я показываю скользящее меню (cally toggle()), когда вы нажимаете на пункт главного меню. Спасибо за разъяснение в отношении использования пунктов меню. – bachr

+2

Он работал для меня (элемент появляется на панели действий не внизу) после удаления андроида: uiOptions = "splitActionBarWhenNarrow" из манифеста. – bachr

+0

@Arbi: +1 для отправки решения. –

Смежные вопросы