Показать пункт меню всегда в панели действий поддержки

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

<item android:id="@+id/action_settings" android:icon="@drawable/add_post" android:title="@string/action_settings" /> 

И код действия ActionBar приведен ниже: –

 @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.main, menu); return super.onCreateOptionsMenu(menu); } 

Любая помощь будет оценена по достоинству.

Solutions Collecting From Web of "Показать пункт меню всегда в панели действий поддержки"

Из документов вы должны always добавлять атрибут ifRoom или ifRoom

 <menu xmlns:android="http://schemas.android.com/apk/res/android" > <!-- Search, should appear as action button --> <item android:id="@+id/action_search" android:icon="@drawable/ic_action_search" android:title="@string/action_search" android:showAsAction="ifRoom" /> <!-- Settings, should always be in the overflow --> <item android:id="@+id/action_settings" android:title="@string/action_settings" android:showAsAction="never" /> </menu> 

Если вы используете AppCompat ActionBar, вам нужно изменить макет таким образом:

 <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" > <item android:id="@+id/action_settings" android:icon="@drawable/add_post" android:title="@string/action_settings" app:showAsAction="always" /> </menu> 

showAsAction будет работать только с пользовательским префиксом, см. Документацию . В соответствии с этим:

Обратите внимание, что атрибут showAsAction выше использует собственное пространство имен, определенное в теге. Это необходимо при использовании любых атрибутов XML, определенных библиотекой поддержки, поскольку эти атрибуты не существуют в платформе Android на старых устройствах.

Надеюсь это поможет.

Вы можете использовать различные значения свойства android:showAsAction в файле xml файла android.

Чтобы показать все видимое время на панели действий, вы должны пойти с android:showAsAction="always" ..

Вы также можете использовать android:showAsAction="ifRoom" но он не будет отображать меню в панели действий не всегда, но он будет отображаться в соответствии с разным размером экрана.

отредактированный

Ref: Элементы меню не отображаются на панели действий

Попробуйте с приведенным ниже кодом, затем ..

 <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" > <item android:id="@+id/menu_lang" app:showAsAction="always" <!-- app:showAsAction="ifRoom" --> android:title="@string/menu_lang" android:icon="@android:drawable/ic_input_lang"/> </menu> 

Надеюсь, это поможет вам .. !!!

Удалите эту строку xmlns:app="http://schemas.android.com/apk/res-auto"

android:showAsAction="always" вместо app:showAsAction="always"

 <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/action_refresh" android:icon="@drawable/ic_refresh" android:showAsAction="ifRoom" android:title="@string/action_refresh"/> <item android:id="@+id/action_filter" android:icon="@drawable/ic_filter" android:showAsAction="always" android:title="@string/action_filter"/> </menu> 

Я понимаю, что этот вопрос составляет 2+ года, но для полноты, если вы хотите установить это в коде, используйте следующее:

 menuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); 

Другие варианты

 MenuItem.SHOW_AS_ACTION_NEVER MenuItem.SHOW_AS_ACTION_IF_ROOM MenuItem.SHOW_AS_ACTION_ALWAYS MenuItem.SHOW_AS_ACTION_WITH_TEXT MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW