Context menu也就是所谓的上下文菜单,类似于Windows的右键菜单,当为一个视图注册了上下文菜单之后,长按(2 秒左右)这个视图对象就会弹出一个浮动菜单,即上下文菜单。任何视图都可以注册上下文菜单,通常是Listview的Item视图。
创建上下文菜单的逻辑如下
(1)在Activity中的onCreate()方法中重写注册视图的上下文菜单;
例如为Textview注册上下文菜单
textView=(this)findViewById(R.id.showMenu);
textView.setTextSize(18.0F)//设置浮点数
registerForContextMenu(textView);
(2)重写Activity中的onCreateContextMenu()方法,在此方法中,首先创建一个用于解析菜单文件的MenuInflater对象,然后再调用其Inflate()方法解析一个菜单资源文件,并把解析后的菜单保存在menu中,最后为菜单设置图标和标题
MenuInflater if=new MenuInflater(this);//实例化MenuInflater对象
if.inflater(R.menu.item,menu);//解析文件菜单并保存
menu.setHeaderIcon(R.drawwable.ic_lanuncher);//设置图标
menu.sertHeaderTitle("标题");
(3)重写onContextItemSelected()方法,用于当菜单选项被选择后做出相应的逻辑处理
Public boolean onContextItemSelected(MenuItem item){
Toast.makeText(MainActivity.this,item.getTitle(),Toast.LENGTH_SHORT).show();
return true;
}