35

タイトルまたは仕切りを付けてグループを区別したいのですが、グループ要素のタイトル オプションが見つかりません。

タイトルや仕切りを追加する方法はありますか?

<group android:id="@+id/menu_group_sort" >
        <item
            android:id="@+id/menu_sort_relevance"
            android:showAsAction="never"
            android:title="@string/sort_relevance"/>
        <item
            android:id="@+id/menu_sort_rating"
            android:showAsAction="never"
            android:title="@string/sort_rating"/>

    </group>
4

7 に答える 7

28

私は自分のプロジェクトにこのコードを使用しています。

<item
    android:title="Search Option"
    android:id="@+id/menu_search_option"
    android:showAsAction="ifRoom|withText">
    <menu>
        <group>
            <item
                android:id="@+id/menuSearchFilmEpisode"
                android:title="Episode"/>
            <item
                android:id="@+id/menuSearchActor"
                android:title="Actor"/>
            <item
                android:id="@+id/menuSearchDirector"
                android:title="Director"/>
        </group>
    </menu>
</item>

その結果、アクションバーにアイコンとしてテキストを含むグループができました。それが役に立てば幸い。

于 2013-04-06T15:17:50.487 に答える
25

おそらく2年遅すぎるかもしれませんが、この問題に出くわした人には役立つかもしれないと思いました...

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group
    android:id="@+id/group_one">
    <item android:title="Group Title">
        <menu>
            <item
                android:id="@+id/group_item_one"
                android:title="Item one"/>
            <item
                android:id="@+id/group_item_two"
                android:title="Item two"/>
            <item
                android:id="@+id/group_item_three"
                android:title="Item three"/>
        </menu>
    </item>
</group>
<group
    android:id="@+id/group_two">
    <item
        android:id="@+id/group_two_item_one"
        android:title="Item one"/>
</group>

于 2015-12-01T14:29:04.413 に答える
5

それは最善のアプローチではないかもしれませんが、あなたの助けになると信じています. グループ内に「タイトル」として追加の無効なアイテムを追加するのはどうですか。また、それらのアイテムのスタイルを作成して、必要な色を表示することもできます。

 <?xml version="1.0" encoding="utf-8"?>
    <menu
        xmlns:android="http://schemas.android.com/apk/res/android">
        <group>
            <item
                android:title="menu1"
                android:enabled="false"
                android:checkable="false">
            </item>
            <item
                android:title="opt1">
            </item>
            <item
                android:title="opt2">
            </item>
            <item
                android:title="opt3">
            </item>
        </group>
        <group>
            <item
                android:title="menu2"
                android:enabled="false"
                android:checkable="false">
            </item>

            <item
                android:title="opt4">
            </item>
            <item
                android:title="opt5">
            </item>
        </group>
    </menu>

Javaを使用して、そのようなことを試すこともできます。

@Override
    public boolean onCreateOptionsMenu(Menu menu) {

        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        menu.addSubMenu(Menu.NONE, 1, 1, "SubMenu");
        menu.add(1, 2, 2, "Item");
        menu.add(1, 3, 3, "Item");

        menu.addSubMenu(Menu.NONE, Menu.NONE, 4, "SubMenu");
        menu.add(4, 5, 5, "Item");
        menu.add(4, 6, 6, "Item");
        menu.add(4, 7, 7, "Item");

        return true;
    }

パラメーター

  • groupId このアイテムが属するグループ ID。これは、バッチ状態変更のアイテムのグループを定義するためにも使用できます。項目をグループに含めない場合は、通常 NONE を使用します。
  • itemId 一意のアイテム ID。一意の ID が必要ない場合は、NONE を使用してください。
  • order アイテムの注文。順序を気にしない場合は、NONE を使用してください。getOrder() を参照してください。
  • title アイテムに表示するテキスト。

それでも、どちらも同じ結果になるはずだと思います。

お役に立てば幸いです。

于 2014-04-09T01:52:09.840 に答える
1

ご存知のように、item-node にはタイトルを付けることができ、item-node は menu-node の子にすることができ、さらに menu-node は item-node の子にすることができ、group-node はメニューノードの子。

そのため、グループを rootMenu-itemWithTitle-menu の階層内に保持するだけです。

このように、NavigationView メニューとして使用されます。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  tools:context=".activity.MainActivity">`

    <item android:title="@string/drawer_group_book">
        <menu>
            <group android:id="@+id/nav_group_book"
                android:checkableBehavior="single">
                <item
                    android:id="@+id/nav_book_in_stock"
                    android:icon="@drawable/vector_in_stock"
                    android:title="@string/drawer_menu_in_stock"/>
                <item
                    android:id="@+id/nav_book_wish_list"
                    android:icon="@drawable/vector_wish"
                    android:title="@string/drawer_menu_wish_list"/>
                <item
                    android:id="@+id/nav_book_lent_out"
                    android:icon="@drawable/vector_out"
                    android:title="@string/drawer_menu_lent_out"/>
                <item
                    android:id="@+id/nav_book_borrowed"
                    android:icon="@drawable/vector_in"
                    android:title="@string/drawer_menu_borrowed"/>
            </group>
        </menu>
    </item>

    <item android:title="Communicate">
        <menu>
            <item
                android:id="@+id/nav_share"
                android:icon="@drawable/ic_menu_share"
                android:title="Share"/>
            <item
                android:id="@+id/nav_send"
                android:icon="@drawable/ic_menu_send"
                android:title="Send"/>
        </menu>
    </item>

</menu>
于 2016-01-10T10:32:28.710 に答える