Android 菜单之子菜单SubMenu

时间:2023-03-09 02:31:07
Android 菜单之子菜单SubMenu

子菜单就是在点击了菜单中的选项后弹出的要对菜单中选项操作的菜单

Android 菜单之子菜单SubMenu          Android 菜单之子菜单SubMenu

他的操作与之前的两种类型的菜单操作差不多

动态添加

@Override
public boolean onCreateOptionsMenu(Menu menu) {
SubMenu file = menu.addSubMenu("文件");
SubMenu edit = menu.addSubMenu("编辑");
file.setHeaderTitle("文件");
file.setHeaderIcon(R.mipmap.ic_launcher);
file.add(1,1,1,"新建");
file.add(1,2,1,"打开");
file.add(1,3,1,"保存");
edit.setHeaderTitle("编辑");
edit.setHeaderIcon(R.mipmap.ic_launcher);
edit.add(2,1,1,"复制");
edit.add(2,2,1,"粘贴");
edit.add(2,3,1,"剪切"); return true;
}

xml文件添加

@Override
public boolean onCreateOptionsMenu(Menu menu) {
SubMenu file = menu.addSubMenu("文件");
SubMenu edit = menu.addSubMenu("编辑"); MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main,menu);
return true;
}

这个的布局文件有点不同  双层的menu

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/file"
android:title="文件"
>
<menu>
<item
android:id="@+id/file_new"
android:orderInCategory="100"
android:title="新建"
>
</item>
<item
android:id="@+id/file_open"
android:orderInCategory="100"
android:title="打开"
>
</item>
<item
android:id="@+id/file_s"
android:orderInCategory="100"
android:title="保存"
>
</item>
</menu>
</item> <item
android:id="@+id/edit"
android:title="编辑"
>
<menu>
<item
android:id="@+id/edit_c"
android:orderInCategory="100"
android:title="复制"
>
</item>
<item
android:id="@+id/edit_v"
android:orderInCategory="100"
android:title="粘贴"
>
</item>
<item
android:id="@+id/edit_x"
android:orderInCategory="100"
android:title="剪切"
>
</item>
</menu>
</item>
</menu>