在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按钮注册上下文菜单
本文介绍了Android应用中如何实现菜单栏,包括菜单栏界面的编写,菜单项点击事件处理,以及如何自定义菜单样式。此外,还讲解了上下文菜单的实现,包括给View注册上下文菜单的方法。
8242

被折叠的 条评论
为什么被折叠?



