以编程方式创建弹出菜单分隔符 - Android

时间:2016-04-15 09:16:58

标签: android

以编程方式创建弹出菜单分隔符 - Android 我在以编程方式创建的弹出菜单中以编程方式添加分隔符时遇到问题。 在xml中,我认为它是自动的,但当我搜索方法时,我似乎无法找到类似popmenu.getMenu().addSeparator();

的内容

这可能吗?

这就是我的尝试:

    int group_id = 0;
    int item_id = 1;
    int order = 1;
    PopupMenu popupMenu  = new PopupMenu(this , btn_add_product);
    popupMenu.getMenu().add( group_id , item_id , order , "Sample");
    popupMenu.getMenu().add("---------------------------------------");

1 个答案:

答案 0 :(得分:0)

我的回答不符合逻辑或

我不知道如何编程

这里是~ID_GROUP~ .xml ---动态

<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity">

<group android:id="@+id/grp1" android:checkableBehavior="single" >
    <item
        android:id="@+id/navigation_item_1"
        android:checked="true"
        android:icon="@drawable/ic_home"
        android:title="@string/navigation_item_1" />
</group>

<group android:id="@+id/grp2" android:checkableBehavior="single" >
    <item
        android:id="@+id/navigation_item_2"
        android:icon="@drawable/ic_home"
        android:title="@string/navigation_item_2" />
</group>

〜 我做程序化的一点点修复 如果那对你有所帮助的话 。的的setEnabled

    // add(groupId, itemId, order, title);
    menu.add(0, 0, 0, "Option1").setShortcut('1', 'a');
    menu.add(0, 1, 1, "Option2").setShortcut('2', 'b');
    menu.add(0, 2, 2, "Option3").setShortcut('3', 'c');

    /**
     * If you're running your code on Android 3.0+, the icons in the menu are not shown by design.
     * menu.add(0, 3, 3, "").setEnabled(false).setIcon(R.drawable.icon_bookmark);
     */
    menu.add(0, 3, 3, "______________________________________").setEnabled(false);

    menu.add(1, 4, 4, "Option1-2").setShortcut('5', 'd');
    menu.add(1, 5, 5, "Option2-2").setShortcut('6', 'e');
    menu.add(1, 6, 6, "Option3-2").setShortcut('7', 'f');

这只是为了支持或提供帮助。