android 菜单子菜单 的用法

参考:http://www.linuxidc.com/Linux/2011-09/43281.htm


子菜单就是将相同功能的分组进行多级显示的一种菜单。

创建子菜单的步骤:

1、 覆盖Activity的onCreateOptionsMenu()方法,调用Menu的addSubMenu()方法来添加子菜单

2、 调用SubMenu的add()方法,添加子菜单

3、 覆盖onContextItemSelected()方法,响应子菜单的单击事件

至于onCreateOptionsMenu()方法在前面已做过介绍,现在来看下Menu的addSubMenu()方法,与add()方法一样它有四个重载方法,参数也同出一辙。在这也就不再多说明了

public abstractSubMenuaddSubMenu(int groupId, int itemId, int order,CharSequencetitle)

public abstractSubMenuaddSubMenu(int groupId, int itemId, int order, int titleRes)

public abstractSubMenuaddSubMenu(CharSequencetitle)

public abstractSubMenuaddSubMenu(int titleRes)

这四个函数的返回对象都是SubMenu,那么我们就来看下SubMenu吧,随便来了解它的一些属性及方法:

SubMenu是实现Menu的

比较常用的方法有:setHeaderIcon()、setHeaderTitle()

下面通过两个实例来熟悉下SubMenu

实例1:

  1. packagecom.jiahui.activity;
  2. importjava.lang.reflect.Field;
  3. importAndroid.app.Activity;
  4. importandroid.os.Bundle;
  5. importandroid.view.Menu;
  6. importandroid.view.MenuItem;
  7. importandroid.view.SubMenu;
  8. publicclassSubMenuDemoActivityextendsActivity{
  9. privatestaticfinalintITEM1=Menu.FIRST;
  10. privatestaticfinalintITEM2=Menu.FIRST+1;
  11. publicvoidonCreate(BundlesavedInstanceState){
  12. super.onCreate(savedInstanceState);
  13. setContentView(R.layout.main);
  14. }
  15. publicbooleanonCreateOptionsMenu(Menumenu){
  16. SubMenufile=menu.addSubMenu("文件");
  17. SubMenuedit=menu.addSubMenu("编辑");
  18. file.add(0,ITEM1,0,"新建");
  19. file.add(0,ITEM2,0,"打开");
  20. //常规方法一级菜单
  21. menu.add(0, MENU_RESET, 0, R.string.reset);
  22. returntrue;
  23. }
  24. publicbooleanonOptionsItemSelected(MenuItemitem){
  25. switch(item.getItemId()){
  26. caseITEM1:
  27. setTitle("新建文件");
  28. break;
  29. caseITEM2:
  30. setTitle("打开文件");
  31. break;
  32. }
  33. returntrue;
  34. }
  35. }

效果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值