在Activity类中实现 :
1、菜单栏界面的编写,当点击菜单按钮会调用此方法:
@Override //实现这个方法之后,菜单就会自动出现,无需另外编写菜单的界面和样式。
public boolean onCreateOptionsMenu(Menu menu){
menu.add("打开");
menu.add("批注");
menu.add("退出");
menu.addSubMenu("...");//子菜单
return super.onCreateOptionsMenu(menu);
}
2、点击菜单子项的时候会调用以下方法:
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
String menuItem=(String)item.getTitle();
if(menuItem=="打开"){
performFileSearch();//这是自己定义的一个方法
}else if(menuItem=="退出"){
onDestroy();//退出app
}
return super.onOptionsItemSelected(item);
}
这是菜单栏中的小项的点击功能的编写。类似一个监听器。
3、如果对菜单的界面样式不满意,可以自己定义一个,首先要自己新建一个res/menu/menu.xml文件,然后
在上面所说的那个创建菜单的方法onCreateOptionsMenu中加入这一句:
super.getMenuInflater().inflate(R.menu.menu, menu);
二、上下文菜单:
上下文菜单就是长按界面上某个view元素弹出的菜单,实现方法如下:
1、在Activity类中实现以下方法:
@Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { menu.add("放大"); super.onCreateContextMenu(menu, v, menuInfo); } @Override public boolean onContextItemSelected(MenuItem item) { if(item.getTitle()=="放大"){ recyclerView.setScaleX(2); recyclerView.setScaleY(2); } return super.onContextItemSelected(item); }
2、在onCreate方法中,给要实现长按弹出菜单的view注册上下文菜单,即添加以下代码:
registerForContextMenu(zoomBack);//给zoomBack按钮注册上下文菜单