【子菜单】SubMenu

什么是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);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值