如何向 PopupMenu(而不是子菜单)上的组添加标题

Acu*_*una 5 android menu popupmenu submenu

我想添加子菜单项组的标题。我不想使用隐藏并在单击时打开的子菜单,我想实现菜单项组的标题。所以现在我的菜单看起来像这样:

在此输入图像描述

但我想这样实现它:

在此输入图像描述

现在我的 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"
>
    
    <group
    android:id="@+id/group_1"
    android:checkableBehavior="single"
    >
        
        <item
            android:id="@+id/apps_sort_title"
            android:title="@string/apps_sort_title"
            app:showAsAction="ifRoom"
        />
        
        <item
            android:id="@+id/apps_sort_date"
            android:title="@string/apps_sort_date"
            app:showAsAction="ifRoom"
        />
        
        <item
            android:id="@+id/apps_sort_size"
            android:title="@string/apps_sort_size"
            app:showAsAction="ifRoom"
        />
        
    </group>
    
    <item android:title="@string/title_order">
        
        <menu>
            
            <group
            android:id="@+id/group_2"
            android:checkableBehavior="single"
            >
                
                <item
                android:id="@+id/apps_sort_asc"
                android:title="@string/sort_asc"
                app:showAsAction="ifRoom"
                />
                
                <item
                android:id="@+id/apps_sort_desc"
                android:title="@string/sort_desc"
                app:showAsAction="ifRoom"
                />
            
            </group>
        
        </menu>
    
    </item>
    
</menu>
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Hem*_*mar -1

设置组标题,您必须像这样实现菜单 XML。

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<group
    android:id="@+id/gp1"
    android:checkableBehavior="single"
    android:visible="true">
    <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/gp2"
    android:checkableBehavior="single">
    <item
        android:id="@+id/group_two_item_one"
        android:title="Item one"/>
</group>
Run Code Online (Sandbox Code Playgroud)

最后找到了我需要使用传递给 onPrepareOptionsMenu() 方法的菜单对象的 setGroupVisible() 方法的解决方案。

menu.setGroupVisible(R.id.gp1, false);
Run Code Online (Sandbox Code Playgroud)

快乐编码!!