在Android Activity中使用menu
来源:互联网 发布:金华比奇网络充值诈骗 编辑:程序博客网 时间:2024/05/21 15:03
初学Android时,使用的是Android eclipse。一直没有注意到onCreateOptionsMenu()的用法。现在做个笔记来加深印象。
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
这个方法:
通过getMenuInflater()方法能够得到MenuInflater()对象,再调用它的inflate()方法就可以给当前活动创建菜单了。
inflate()方法接收两个参数,第一个参数用于指定我们通过哪一个资源文件来创建菜单,这里传入的是R.menu.main。第二个参数用于指定,我们的菜单项将添加到哪一个Menu对象中,这里直接使用的是onCreateOptionsMenu()这个方法中的参数menu。最后返回true,表示允许创建的菜单显示出来。
为了实现第一个参数,我们需要在res目录中新建一个menu文件夹,在menu文件夹建立一个名为main的菜单文件。
在main.xml文件中可以这样写:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/add_item"
android:title="Add"/>
<item android:id="@+id/remove_item"
android:title="Remove"/>
<item android:id="@+id/delete_item"
android:title="Delete"/>
<item android:id="@+id/cancle_item"
android:title="Cancle"/>
</menu>
<item />中是要添加的菜单项。
当然为了使菜单有用,我们还应该在活动中重写onOptionsItemSelected()这个方法。
如下所示:
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case R.id.add_item:
Toast.makeText(this, "You clicked Add", Toast.LENGTH_SHORT).show();
break;
case R.id.remove_item:
Toast.makeText(this, "You clicked Remove", Toast.LENGTH_LONG).show();
break;
case R.id.delete_item:
Toast.makeText(this, "You clicked Delete", Toast.LENGTH_LONG).show();
break;
case R.id.cancle_item:
Toast.makeText(this, "You clicked Cancle", Toast.LENGTH_SHORT).show();
break;
default:
}
return true;
}
- 【Android】在activity中使用menu菜单
- 在Android Activity中使用menu
- 在Activity中使用menu
- 在Activity中使用Menu
- 在Activity中使用Menu
- 在Activity中使用Menu
- 重温2 在Activity中使用Menu
- AndroidStudio_在Activity中使用Menu
- Activity中使用Menu
- Activity中使用Menu
- 【Android】安卓学习笔记之在Activity中使用Menu菜单
- Android中在Activity中用xml添加menu
- 【android】在fragment中使用option menu
- 《android在活动中使用menu》有感
- 如何在一个Activity中添加menu
- Android的Activity中的Menu使用总结
- 在Fragment中使用Menu
- 在活动中使用menu
- 上传单个文件的代码
- 小猴子下落
- 设置console字体
- Where to download Linux Kernel source code of a specific version?
- hibernate 中 Criteria 的使用详解
- 在Android Activity中使用menu
- 关于spring 3.0.5的<mvc:resources> 标签的使用
- 曾经用A*写的一个八数码问题(已补完)
- 线程池运行原理分析
- 浅谈Borg/YARN/Mesos/Torca/Corona一类系统
- Linux下使用readline库编程实现多级CLI菜单
- ATM机java编码
- caffe 17 win10 caffe 数据可视化
- React Native学习之DeviceEventEmitter传值