What is orderInCategory in ActionBar menu item & why it is use for..?
android:orderInCategory
is an integer attribute that dictates the order in which the menu items will appear within the menu when it is displayed.
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/menu_item_first" android:orderInCategory="1" android:showAsAction="never" android:title="@string/string_one"/> <item android:id="@+id/menu_item_second" android:orderInCategory="2" android:showAsAction="never" android:title="@string/string_two"/></menu>
android:orderInCategory
is actually useful in two ways.
1. For menu items in ActionBar
. Items will appear from left to right in ActionBar depending on the ascending order.
2. For menu items in overflow
menu. Overflow menu items will be displayed from top to bottom depending upon the ascending order you have specified.
android:orderInCategory
Higher value, lower priority.
I have a Activity and a Fragment in it, both of them have option menu, and the item numbers are 1 and 3.
If I set android:orderInCategory=0
, the activity menu are above the fragment menu, same effect before I set the value.
But if I set android:orderInCategory=1
,the activity menu are below the fragment menu, and that is what I want.(I also test android:orderInCategory=5
tested too, still the same effect.)