Show Menu Item Always In Support Action Bar
Solution 1:
If you use the AppCompat
ActionBar, you have to change your layout in this way:
<menuxmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto" ><itemandroid:id="@+id/action_settings"android:icon="@drawable/add_post"android:title="@string/action_settings"app:showAsAction="always" /></menu>
showAsAction
attribute will work only with a custom prefixe, see the documentation. According to it:
Notice that the showAsAction attribute above uses a custom namespace defined in the tag. This is necessary when using any XML attributes defined by the support library, because these attributes do not exist in the Android framework on older devices.
Hope this helps.
Solution 2:
From docs
you should add showAsAction
attribute to always
or ifRoom
<menuxmlns:android="http://schemas.android.com/apk/res/android" ><!-- Search, should appear as action button --><itemandroid: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 --><itemandroid:id="@+id/action_settings"android:title="@string/action_settings"android:showAsAction="never" /></menu>
Solution 3:
You can use the different values of android:showAsAction
property in android menu xml file..
to show all time visible menu on actionbar, you should go with android:showAsAction="always"
..
You can also use android:showAsAction="ifRoom"
but it will show the menu in action bar not always but it will show according to different screen size.
Edited
Ref: Menu items doesn't show up on the actionbar
Try with the below code then..
<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>
Hope it will help you..!!!
Solution 4:
remove this line xmlns:app="http://schemas.android.com/apk/res-auto"
use android:showAsAction="always"
instead of app:showAsAction="always"
<menuxmlns:android="http://schemas.android.com/apk/res/android" ><itemandroid:id="@+id/action_refresh"android:icon="@drawable/ic_refresh"android:showAsAction="ifRoom"android:title="@string/action_refresh"/><itemandroid:id="@+id/action_filter"android:icon="@drawable/ic_filter"android:showAsAction="always"android:title="@string/action_filter"/></menu>
Solution 5:
I realize this question is 2+ years old, but for completeness, if you want to set this in code use the following:
menuItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
other options are
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
Post a Comment for "Show Menu Item Always In Support Action Bar"