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);
}