Android菜单使用详解
来源:移动互联培训 2017-02-09Android中菜单分为两种:选项菜单和上下文菜单。
本文引用地址://mi.hqyj.com/Android/566.html
选项菜单
1、创建选项菜单:
public boolean onCreateOptionsMenu(Menu menu){
/*
*/
menu.add(1,1,1,"菜单1");
menu.add(1,2,2,"菜单2");
menu.add(1,3,3,"菜单3");
menu.add(1,4,4,"菜单4");
return true;
}
2、设置菜单关联的图像和Activity:
MenuItem item1=menu.add(1,1,1,"菜单1");
item1.setIcon(R.drawable.ic_launcher);
item1.setIntent(new Intent(this,Main.class));
3、设置菜单的响应事件:
通过实现OnMenuItemClickListener来实现。
4、动态创建Menu:
动态创建Menu的Item的方法即是创建一个Menu类型的参数传进onCreateOptionsMenu方法。
5、创建子菜单:
android中多只支持两级菜单,因此android中多只会有一个子菜单。
// 添加子菜单
SubMenu fileSubMenu = menu.addSubMenu(1, menuItemId++, 5, "文件");
fileSubMenu.setIcon(R.drawable.file);
fileSubMenu.setHeaderIcon(R.drawable.headerfile);
// 子菜单不支持图像
MenuItem newMenuItem = fileSubMenu.add(1, menuItemId++, 1, "新建");
newMenuItem.setCheckable(true);
newMenuItem.setChecked(true);
MenuItem openMenuItem = fileSubMenu.add(2, menuItemId++, 2, "打开");
MenuItem exitMenuItem = fileSubMenu.add(2, menuItemId++, 3, "退出");
exitMenuItem.setChecked(true);
fileSubMenu.setGroupCheckable(2, true, true);
上下文菜单的使用:
上下文菜单可以和任意的View关联,如TextView、EditView等。
下面创建了一个包含4个菜单项的上下文菜单,后一个菜单包括2个子菜单。
public void onCreateContextMenu(ContextMenu menu, View view,
ContextMenuInfo menuInfo)
{
super.onCreateContextMenu(menu, view, menuInfo);
// menu.clear();
menu.setHeaderTitle("上下文菜单");
menu.setHeaderIcon(R.drawable.face);
menu.add(0, menuItemId++, Menu.NONE, "菜单项1").setCheckable(true)
.setChecked(true);
menu.add(20, menuItemId++, Menu.NONE, "菜单项2");
menu.add(20, menuItemId++, Menu.NONE, "菜单项3").setChecked(true);
menu.setGroupCheckable(20, true, true);
SubMenu sub = menu.addSubMenu(0, menuItemId++, Menu.NONE, "子菜单");
sub.add("子菜单项1");
sub.add("子菜单项2");
}
上下文菜单必须注册到指定的View上才能显示
// 注册上下文菜单
registerForContextMenu(button);
registerForContextMenu(editText);
registerForContextMenu(textView);
Copyright ©2004-2018 华清远见教育科技集团 版权所有
京ICP备16055225号,京公海网安备11010802025203号