What is orderInCategory in ActionBar menu item & why it is use for..?

十年热恋 提交于 2019-11-28 04:18:29

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>
  • Menu items in ToolBar are arranged from left to right (or start to end in RTL mode) in the ascending order (i.e. 1,2,3 -> left to right).

  • Menu Items in Overflow menu are arranged from top to bottom in the ascending order (i.e. 1,2,3 -> top to bottom).

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.)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!