在Activity中使用Menu

Android给我们提供了一种方式,可以展示菜单的同时,还能不占用任何的屏幕空间


新建xml

首先在res目录下新建一个menu文件夹,右键res目录 - New - Directory,输入文件夹名menu,点击OK。接着在这个文件夹下新建一个叫main的菜单文件。右键menu文件夹 - New - Menu resource file,文件名main,点击OK创建完成。添加如下xml代码:

<menu xmlns:android="http://schemas.android.com/apk/res/android"><itemandroid:id="@+id/add_item"android:title="Add"/><itemandroid:id="@+id/remove_item"android:title="Remove"/>
</menu>
通过 android:title 给这个菜单项指定一个名称

重写onCreateOptionsMenu()方法

public boolean onCreateOptionsMen(Menu menu) {getMenuInflater().inflate(R.menu.main, menu);return true;
}

通过getMenuInflater()方法能够得到MenuInflater对象,再调用它的inflate()方法就可以给当前活动创建菜单了。inflate()方法接受两个参数,第一个参数用于指定我们通过哪个资源文件来创建菜单,这里传入R.menu.main。第二个参数用于指定我们的菜单项将添加到哪一个Menu对象中,这里直接使用onCreateOptionsMenu()方法传入的menu参数。将这个方法返回true,表示允许显示菜单,如果返回false,则无法显示菜单。


重写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_SHORT).show();break;default:}return true;
}

在onOptionsItemSelected()方法中,通过调用item。getItemId()来判断我们点击的是哪一个菜单项,然后给每个菜单项加入到自己的逻辑处理。


第一行代码Android(第二版 ) 郭霖 著 人民邮电出版社

【Android开发】 在Activity中使用Menu相关推荐

  1. android设计一个多线程和画图的程序小球,Android开发之多线程中实现利用自定义控件绘制小球并完成小球自动下落功能实例...

    本文实例讲述了Android开发之多线程中实现利用自定义控件绘制小球并完成小球自动下落功能的方法.分享给大家供大家参考,具体如下: 1.布局界面 xmlns:tools="http://sc ...

  2. 重温2 在Activity中使用Menu

    1.引用string.xml中的字符串 1) 代码中 R.string.hello_world 2) XML中@string/hello_world 2.AndroidManifest <act ...

  3. android bitmap着色,android开发 替换bitmap中的颜色值

    /** * 将bitmap中的某种颜色值替换成新的颜色 * @param bitmap * @param oldColor * @param newColor * @return */ public ...

  4. Android开发基础——Activity基本用法

    什么是Activity Activity是一种可以包含用户界面的组件,主要用于和用户进行交互. 一个应用程序中可以包含零个或多个Activity,但不包含任何Activity的应用程序则很少. Act ...

  5. Android的onDestroy方法,Android编程之Activity中onDestroy()调用分析

    本文分析了Android编程之Activity中onDestroy()调用方法.分享给大家供大家参考,具体如下: 刚刚一个BUG让我发现,如果 activity 实现了一个回调接口,然后使用 this ...

  6. Android开发——异步任务中Activity销毁时的问题

    0.  前言 在Android开发中经常会发生Activity的销毁重建,比如用户长时间接听一个电话后回到APP.在Android开发--Fragment知识整理(二)中我们提到了使用Fragment ...

  7. 【转】android之在activity中控制另一个activity的UI更新_如何在activity之间传递handler...

    来自:http://blog.csdn.net/jason0539/article/details/18055259 遇到一个问题,需要在一个activity中控制另一个acitivity做一些更新, ...

  8. eclipse Android 开发基础 Activity 窗体 界面

    eclipse Android 开发基础 新建工程 新建布局layout,new Android Activity就相当于窗体Form. 新建Activity自动生成src下同名的java代码. pu ...

  9. Android开发杂谈更新中

    1.Android开发者的成长路线 <1>第一阶段是开发入门,开发者可以通过论坛或者社区获得帮助: <2>第二阶段是进阶和实战,建议开发者能多参加一些培训: <3> ...

最新文章

  1. cass坡度土方计算案例_南方CASS方格网土方计算心得
  2. c语言gcno文件位置,makefile - 具有覆盖率的CMake Ninja将gcno文件放在根二进制目录中 - 堆栈内存溢出...
  3. 071_设置日期方法
  4. cba篮球暂停次数和时间_中国篮球即将来袭!202021赛季CBA赛程时间表
  5. Gym导入Atari游戏环境报错
  6. OpenCV结合socket进行实时视频传输(TCP协议)
  7. 鸿蒙3部曲先看哪部,讨论雪鹰与鸿蒙三部曲的关系
  8. 年逾九十院士潘际銮:身背千亿科研价值身居斗室
  9. C/C++笔试经典——链表倒序
  10. ChatOps如何变革企业业务
  11. 关于安装VS2005或MSDN时遇到“Please insert the disk:XXXXXXX” 错误提示的解决方法!...
  12. 短视频App风起云涌 工具+社交属性聚拢用户
  13. BZOJ3994[SDOI2015] 约数个数和
  14. Web渗透测试-实战 方法 思路 总结
  15. 2020年javaWeb面试题(初)
  16. Mac屏幕录制GIF动图
  17. Polygon 上 3 款最受欢迎的 GameFi 游戏
  18. Zotero 5.0 + 坚果云同步盘 + papership 配置教程
  19. 《Head First 系列图书》大集合,附案例分析,免积分下载
  20. 证明:无理数乘以非零的有理数仍然是无理数

热门文章

  1. VS2019/MFC学习笔记之三(对话框控件随窗口大小同比例缩放)
  2. 在html中让页面从彩色变成黑白
  3. 2023年申请发明专利的重要性和注意问题。
  4. 最详细的java调用含参数的python程序并且返回值
  5. java this() super()_Java this()和super()的使用注意
  6. [转]赴澳大利亚监督指导世界拉力锦标赛的工作报告
  7. MATLAB安装文件的目录
  8. jmeter利用察看结果树查看响应调试取样器(Debug Sampler)(3)
  9. 传奇登录器列表显示不连接
  10. safari下载文件自动追加exe后缀解决方法