1. ホーム
  2. android

[解決済み] ActionBarメニューのorderInCategoryとは何ですか?

2022-02-16 07:42:15

質問

アクションメニューの項目とそのオーバーフローの項目で作業しています。 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>

上記のコードにあるように、検索項目とオーバーフロー項目を作成しようとしました。アクションバーのメニューアイテムは初めてなので、ググってみたところ、必要な動作をさせることができました。

この中で、もう一つ知っておかなければならないことがあります。

1. とは何ですか? orderInCategory という数字がありますが、これは何のために使うのでしょうか?

解決方法は?

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>

  • のメニュー項目 ToolBarleft から right (または start から end をRTLモードの場合)昇順(例:1,2,3 -> 左から右へ)。

  • <ブロッククオート

    のメニュー項目 Overflow menu から配列されます。 top から bottom で 昇順(例:1,2,3 -> 上から下へ)。