转载自:http://blog.sina.com.cn/s/blog_8996e7110102wlau.html
一、OptionsMent 普通Ment,在手机菜单里
重写onCreateOptionMenu
方法创建Menu
menu.add(1,101,0,"专业")
参数1:新添加选项的所属groupId,用于分组管理
参数2:新添选项的itemId,用于唯一标识
参数3:新添选项的显示顺序,越小越靠前,相同时以代码读取顺序为准
参数4:新添选项的显示文本
二级菜单需要使用SubMenu
subMenu
subMenu = menu.addSubMenu(1,1,1,"籍贯");
subMenu.add(2,2,2,"辽宁");
重写onOptionsItemSelected方法 设置菜单各个选项的点击事件
应用switch或if-else
二、 ContextMenu
上下文Menu
弹出式的浮动菜单
长按某个控件时弹出菜单
1.先给控件注册ContextMenu
registerForContextMenu(textView);
2.添加选项
重写onCreateContextMenu
3.菜单选项选择时间
重写onContextItemSelected
三、PopMenu
冒泡Menu
弹出式菜单
final
PopupMenu
popupMenu = new PopupMenu(getApplicationContext(),button);
MenuInflater menuInflater = new MenuInflater(getApplicationContext());
menuInflater.inflate(R.menu.my_menu,popupMenu.getMenu());
popupMenu.show();
四。ContextMenu和普通OptionsMenu比较
触发方式OptionsMenu点击Menu键,创建方法通过onCreateOptionsMenu选择事件监听
onOptionsItemSelected
触发方式ContextMenu长按控件,创建方法通过
onCreateContextMenu,选择事件监听
onContextItemSelected
两种Menu都可以通过onMenuItemSelected来选择选项事件监听
另外,还可以使用xml文件创建Menu
步骤一在menu文件夹下添加新的menu布局文件
步骤二在xml中设置menu的具体item项
步骤三通过渲染器,将xml文件渲染到Menu
MenuInglater
inflater = getMenuInflater();
inflater.inflate(R.menu.my_menu,menu);