子菜單就是在點擊了菜單中的選項后彈出的要對菜單中選項操作的菜單
他的操作與之前的兩種類型的菜單操作差不多
動態添加
@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>