什么是ActionBar菜单项中的orderInCategory以及它为什么用于..?

Sar*_*aja 49 android android-menu android-actionbar

我正在处理动作菜单项及其溢流项目这是我的 main_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">

<item
    android:id="@+id/menu_search"
    android:icon="@drawable/search"
    android:title="@string/start_new_project"
    app:showAsAction="always" />
<item
    android:id="@+id/menu_dts_overflow"
    android:icon="@drawable/ic_action_overflow_round"
    android:orderInCategory="11111" 
    android:title="Service"
    app:showAsAction="always">
    <menu>
        <item
            android:id="@+id/menu_newProject"
            android:icon="@drawable/newproject"
            android:title="@string/start_new_project"
            app:showAsAction="never" />


        <item
            android:id="@+id/menu_help"
            android:icon="@drawable/help"
            android:title="Service Tasks"
            app:showAsAction="never" />


        <item
            android:id="@+id/menu_signOut"
            android:icon="@drawable/signout"
            android:title="@string/menusignout"
            app:showAsAction="never" />

    </menu>
</item>
Run Code Online (Sandbox Code Playgroud)

我试图构建一个搜索项和溢出项,您可以在上面的代码中看到.我是Action栏目菜单项目的新手,所以我尝试了Google,并且能够让它按照我的需要运行.

在这里我还要知道一件事.

1.什么是orderInCategory一些数字,使用了什么..?

Y.S*_*Y.S 106

android:orderInCategory 是一个整数属性,用于指示菜单项在显示时在菜单中的显示顺序.

<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>
Run Code Online (Sandbox Code Playgroud)
  • 在菜单项ToolBar从被布置leftright(或 startend升序在RTL模式)(即1,2,3 -> 左到右).

    水平菜单项

  • 在菜单项Overflow menu被从设置topbottom按升序(即1,2,3 ->从上到下).

    垂直溢出菜单

  • 请注意,它可以从头到尾开始支持从右到左 (10认同)

Apu*_*rva 33

android:orderInCategory实际上有两种用途.

1.对于菜单项ActionBar.项目将在ActionBar中从左到右显示,具体取决于升序.

2.对于菜单中的菜单项overflow.溢出菜单项将从上到下显示,具体取决于您指定的升序.


小智 7

android:orderInCategory 价值更高,优先级更低.

我有一个活动和一个片段,它们都有选项菜单,项目编号是1和3.

如果我设置android:orderInCategory=0,活动菜单在片段菜单上方,在设置值之前效果相同.

但是,如果我设置android:orderInCategory=1,活动菜单位于片段菜单下面,这就是我想要的.(我也测试了android:orderInCategory=5 测试,仍然是相同的效果.)