一般的手机上都会有一个home键,单击后会显示出一系列的菜单,这个即是选项菜单(Options Menu),Options Menu开发主要涉及Menu,MenuItem,Submenu。
1.一个Menu对象代表一个菜单,Menu对象可以添加MenuItem,也可以添加子菜单Submenu;
2.MenuItem 对象代表一个菜单选项,通常MenuItem实例通过Menu.add()方法添加。
menu.add(int group_id,int item_id,int order,CharSequence content);
3.一个Submenu 实例代表一个子菜单。子菜单的添加是通过Menu.addSubmenu()方法实现。
下面是简单的代码:
1 //点击home键后开始触发,选择菜单 2 @Override 3 public boolean onCreateOptionsMenu(Menu menu) { 4 //第一种方式,监听在另一个方法中 5 menu.add(0,101,1,"开始");//参数:group_id,item_id,order,title; 6 menu.add(0,102,1,"暂停"); 7 //第二种方式,添加后设置监听 8 MenuItem item = menu.add(0,103,3,"关于"); 9 item.setOnMenuItemClickListener(new MenuItem.OnMenuItemClickListener() { 10 @Override 11 public boolean onMenuItemClick(MenuItem menuItem) { 12 tvInfo.setText("关于"); 13 return false; 14 } 15 }); 16 17 //第三种方式,添加有子选项的 18 final SubMenu submenu = menu.addSubMenu(0, 104, 4, "退出"); 19 submenu.add(1,1011,10,"确定"); 20 submenu.add(1,1012,11,"取消"); 21 submenu.setHeaderIcon(R.drawable.e); 22 return super.onCreateOptionsMenu(menu); 23 } 24 //home键操作 25 @Override 26 public boolean onOptionsItemSelected(MenuItem item) { 27 if(item.getItemId() == 101){ 28 tvInfo.setText("开始"); 29 }else if(item.getItemId() == 102){ 30 tvInfo.setText("暂停"); 31 } 32 return super.onOptionsItemSelected(item); 33 } 34 }
时间: 2024-11-07 07:55:37