注意:可以在Menu上添加子菜单(SubMenu),但子菜单不能再嵌套子菜单,即意味着Android中菜单只有两层,这是项目设计时需要注意的。

Java示例代码如下:

package com.demo.android.submenu;import android.app.Activity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.SubMenu;import android.widget.Toast;public class SubMenuActivity extends Activity {@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {super.onCreateOptionsMenu(menu);SubMenu fileMenu=menu.addSubMenu(1, 1, 1, "File");//fileMenu.setHeaderTitle("File");fileMenu.add(2, 11, 11, "New");fileMenu.add(2, 12, 12, "Save");fileMenu.add(2, 13, 13, "Close");SubMenu editMenu=menu.addSubMenu(1, 2, 2, "Edit");//editMenu.setIcon(icon)//editMenu.setHeaderTitle("");editMenu.add(2, 21, 21, "Redo");editMenu.add(2, 22, 22, "Undo");return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {super.onOptionsItemSelected(item);switch(item.getItemId()){case 1:{Toast.makeText(SubMenuActivity.this, "单击了"+item.getTitle(), Toast.LENGTH_SHORT).show();break;}case 2:{Toast.makeText(SubMenuActivity.this, "单击了"+item.getTitle(), Toast.LENGTH_SHORT).show();break;}case 11:{Toast.makeText(SubMenuActivity.this, "单击了"+item.getTitle(), Toast.LENGTH_SHORT).show();break;}case 12:{Toast.makeText(SubMenuActivity.this, "单击了"+item.getTitle(), Toast.LENGTH_SHORT).show();break;}case 13:{Toast.makeText(SubMenuActivity.this, "单击了"+item.getTitle(), Toast.LENGTH_SHORT).show();break;}case 21:{Toast.makeText(SubMenuActivity.this, "单击了"+item.getTitle(), Toast.LENGTH_SHORT).show();break;}case 22:{Toast.makeText(SubMenuActivity.this, "单击了"+item.getTitle(), Toast.LENGTH_SHORT).show();break;}}return true;}}


更多相关文章

  1. 下载、更新Android(安卓)SDK慢的解决方案
  2. 15个重要的Android代码
  3. android仿时间轴
  4. 【Android(安卓)开发教程】添加ActionBar物件
  5. Android(安卓)菜单(OptionMenu)大全
  6. Android(安卓)Laucher3 去掉二级菜单
  7. NestedScrollView嵌套RecyclerView 能默认定位到顶部 问题
  8. [置顶] Android(安卓)按钮点击两次触发不同的事件
  9. [Android(安卓)Studio]添加选项菜单

随机推荐

  1. IBN初创公司Apstra在其操作系统中加入了
  2. kubernetes证书过期解决方案
  3. CSS样式规则-CSS结构的特点
  4. IHS Markit:85%的运营商计划部署智能端局(C
  5. 混合WAN和SD-WAN的差别
  6. 【论文翻译】为什么网络需要自动驾驶?(IBN
  7. php之函数,匿名函数与回调函数
  8. php入门之 js数组遍历与php的区别
  9. 练习使用定界符和写一个计算器
  10. Laravel 7安装laravel/scout报错:“Your r