Android学习整理-菜单Menu

Android学习整理-菜单Menu



1.常见菜单类型: A.OptionsMenu B.SubMenu

2.简单用法:

A.OptionsMenu

Ps:我之前从网上看到的都是说OptionsMenu一次只能显示6个,超过的话会自动显示更多.但是我发现android4.0.3貌似没有这个限制,起码我的机器到60个都是显示下拉状态.

  用法:在需要用到菜单的Activity加入以下两个函数就可以了,到时候当你按下手机的菜单键便会自动调用,这个是挺好的~~
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {//这个是初始化菜单,只执行一次哈,如果要动态更改的话,需要在其他函数写,然后在适当的时候调用
		int group1 = 1;
		menu.add(group1, 1, 1, "开始");
//		SubMenu subMenu = menu.addSubMenu(group1, 2, 2, "子菜单");
//		subMenu.add(group1, 4, 1, "1");
//		subMenu.add(group1, 5, 2, "22222");
		menu.add(group1, 2,2, "设置");//第一个参数是指明是哪个组,第二个是该菜单项的特定ID,第三个是该菜单项在菜单中的显示顺序,第四个就是在菜单中显示的标题
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {//这个相当于监听器,就是当按了其中的菜单项就会调用这个函数,如果有多个菜单组,建议在此再加上菜单组的判断
		// TODO 自动生成的方法存根
		switch (item.getItemId()) {//这个就是那个上面说的那个菜单项的特定ID了,所以要注意上面设定ID的时候不要重复了,不然就...
		case 1:
			Msg.show(MainActivity.this, "开始");
			break;
		case 2:
			Msg.show(MainActivity.this, "设置");
			break;
		default:
			Msg.show(MainActivity.this, item.getTitle().toString());
		}
		return super.onOptionsItemSelected(item);
	}


B.SubMenu

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {//这个是初始化菜单,只执行一次哈,如果要动态更改的话,需要在其他函数写,然后在适当的时候调用
		int group1 = 1;
		menu.add(group1, 1, 1, "开始");
		SubMenu subMenu = menu.addSubMenu(group1, 2, 2, "子菜单");
		subMenu.add(group1, 4, 1, "1");
		subMenu.add(group1, 5, 2, "22222");//注意不要把ID和其他的相同
		menu.add(group1, 2,2, "设置");//第一个参数是指明是哪个组,第二个是该菜单项的特定ID,第三个是该菜单项在菜单中的显示顺序,第四个就是在菜单中显示的标题
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {//这个相当于监听器,就是当按了其中的菜单项就会调用这个函数,如果有多个菜单组,建议在此再加上菜单组的判断
		// TODO 自动生成的方法存根
		switch (item.getItemId()) {//这个就是那个上面说的那个菜单项的特定ID了,所以要注意上面设定ID的时候不要重复了,不然就...
		case 1:
			Msg.show(MainActivity.this, "开始");
			break;
		case 2:
			Msg.show(MainActivity.this, "设置");
			break;
		default:
			Msg.show(MainActivity.this, item.getTitle().toString());
		}
		return super.onOptionsItemSelected(item);
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值