什么是SubMenu子菜单:
我们在使用选项菜单的时候,如果我们点击了选项菜单中的某一个选项,那么此时会弹出一个新的菜单,那么这就是子菜单
动态添加SubMenu子菜单(-)
// 设置当前这个activity的选项菜单的显示
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// TODO Auto-generated method stub
// 设置选项菜单的子菜单
SubMenu menu1 = menu.addSubMenu("文件操作");
menu1.add(1, 1, 1, "文件操作1");
menu1.add(1, 2, 1, "文件操作2");
menu1.add(1, 3, 1, "文件操作3");
menu1.add(1, 4, 1, "文件操作4");
menu1.setHeaderTitle("现在是文件操作");
menu1.setHeaderIcon(R.drawable.ic_launcher);
SubMenu menu2 = menu.addSubMenu("编辑操作");
menu2.add(2, 1, 1, "编辑操作1");
menu2.add(2, 2, 1, "编辑操作2");
menu2.add(2, 3, 1, "编辑操作3");
menu2.add(2, 4, 1, "编辑操作4");
menu2.setHeaderIcon(R.drawable.ic_launcher);
menu2.setHeaderTitle("这是编辑操作");
return super.onCreateOptionsMenu(menu);
}
动态添加SubMenu子菜单:
动态添加SubMenu子菜单
1.添加内容
onCreateOptionsMenu(Menu menu){
SubMenu file=menu.addSubMenu("文件");
SubMenu edit=menu.addSubMenu("编辑");
file.add();
file.setxxx()
edit.add()'
}
2.监听子菜单点击事件
onOptionItemSelected(MenuItem item){
if(item.getGroupId()==1){
switch(item.getItemId){}
}else if(item.getGroupId()==1){}
}
public boolean onCreateOptionsMenu(Menu menu) {
SubMenu file = menu.addSubMenu("文件");//添加子菜单SubMenu edit = menu.addSubMenu("编辑");
file.add(1, 1, 1, "打开");file.add(1, 2, 1, "新建");file.add(1, 3, 1, "保存");
file.setHeaderTitle("文件操作");//设置子菜单标题
file.setHeaderIcon(R.drawable.ic_launcher);//设置子菜单图标<br>
edit.add(2, 1, 1, "复制");edit.add(2, 2, 1, "剪切");edit.add(2, 3, 1, "粘贴");
edit.setHeaderTitle("编辑操作");edit.setHeaderIcon(R.drawable.ic_launcher);
return super.onCreateOptionsMenu(menu);
}
一、使用XML添加子菜單
1)res->menu->main.xml:給item添加菜單項
<item
android:showAsAction="never"
android:title="文件">
<menu>
<item
android:id="@+id/new_file"
android:showAsAction="never"
android:title="新建"/>
<item
android:id="@+id/open_file"
android:showAsAction="never"
android:title="打开"/>
<item
android:id="@+id/save_file"
android:showAsAction="never"
android:title="保存"/>
</menu>
</item>
2)引入xml文件
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return true;
}
3)重寫點擊事件
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case R.id.new_file:
Toast.makeText(this, "点击了新建",Toast.LENGTH_SHORT).show();
break;
case R.id.open_file:
Toast.makeText(this, "点击了打开",Toast.LENGTH_SHORT).show();
break;
case R.id.save_file:
Toast.makeText(this, "点击了保存",Toast.LENGTH_SHORT).show();
break;
case R.id.c_edit:
Toast.makeText(this, "点击了复制",Toast.LENGTH_SHORT).show();
break;
case R.id.v_edit:
Toast.makeText(this, "点击了粘贴",Toast.LENGTH_SHORT).show();
break;
case R.id.x_edit:
Toast.makeText(this, "点击了剪切",Toast.LENGTH_SHORT).show();
break;
}
return super.onOptionsItemSelected(item);
}