一、ContextMenu(如windows中右击弹出的菜单、android长按弹出的菜单)
图标、标题、菜单项、菜单项点击事件
二、ContextMenu与OptionMenu的区别
- OptionMenu对应的是activity,一个activity只能拥有一个选项菜单
- ContextMenu对应的是View,每个View都可以设置上下文菜单
通常ContextMenu应用与ListView和GridView。
三、ContextMenu创建方法
1. 首先给View注册上下文菜单,Activity的方法 registerForContextMenu(view)//view可为ListView或GridView对象
2. 添加上下文菜单内容Activity中重写 onCreateContextMenu(ContextMenu menu,View v,ContextMenuInfo menuInfo)
-代码动态添加
menu.setHeaderTitle("文件操作");
menu.setHeaderIcon(R.drawable.xx);
menu.add(groupId,itemId,order,title);//与OptionMenu的add方法一样-xml文件(res/menu目录下新建xml文件context_menu.xml)
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.context_menu,menu);
3. 设置菜单项点击后响应事件 Activity中重写onContextItemSelected(MenuItem item){
switch(item.getItemId()){ //Id为add方法中的itemId或者xml中的id
}
}