任务名称:在活动使用菜单

任务现象:打开程序后,点击菜单按钮会出现2个选项,点击选项时会跳出相对应的提示框

步骤

1、创建一个项目,详细参考:http://8c925c9a.wiz03.com/share/s/2cABOq0BC4HP2LGV_j2dj_pL2PmFkt3XSkVX2GjSRG3a9rRL

2、在res目录下新建一个menu文件夹,右击res目录–》New–》Directory。

然后在文件夹下,新建一个main的菜单文件,右击menu–》New–》Menuresource file

3、在main.xml文件中创建2个菜单项。

  1. <menu xmlns:android="http://schemas.android.com/apk/res/android">
  2. <item
  3. android:id="@+id/add_item"
  4. android:title="Add"/>
  5. <item />/创建具体的某一个菜单项
  6. android:id="@+id/remove_item" />/指定一个唯一的标识符
  7. android:title="Remove"/> //指定一个名称
  8. </menu>

其中标签就是用来创建具体的某一个菜单项,然后通过android:id给这个菜单项指定一个唯一的标识符,通过android:title给这个菜单项指定一个名称

4、在主活动文件中重写onCreateOptionMenu()方法,可用快捷键ctrl+O

  1. @Override
  2. public boolean onCreateOptionsMenu(Menu menu) {
  3. getMenuInflater().inflate(R.menu.main,menu); //得到MenuInflater对象,再调用inflate()方法就可以给当前活动创建菜单了
  4. return true; //表示允许创建的菜单显示出来,如果false就无法显示
  5. // return super.onCreateOptionsMenu(menu);
  6. }

inflate()方法:接收2个参数,第一个参数用于指定我们通过哪一个资源文件来创建菜单。第二个参数用于指定我们的菜单项将添加到哪一个menu对象中,这里直接使用onCreateOption()方法中传入的menu参数。

5、定义菜单响应事件。在文件重写onOptionItemSelected()方法

  1. @Override
  2. public boolean onOptionsItemSelected(MenuItem item) {
  3. switch (item.getItemId()){ //判断我们点击的是哪一个菜单项
  4. case R.id.add_item: //点击Add
  5. Toast.makeText(this, "You Click Add", Toast.LENGTH_SHORT).show(); //弹出提示框
  6. break;
  7. case R.id.remove_item: //点击remove
  8. Toast.makeText(this,"You Click Remove",Toast.LENGTH_SHORT).show(); //弹出提示框
  9. break;
  10. default:
  11. }
  12. return true;
  13. }

6、运行程序

附件列表

在活动中使用菜单(Menu)的更多相关文章

  1. android中的菜单Menu

    Menu是一个接口, 他有2个子接口, SubMenu和ContextMenu; 前者菜单常见于按home键就会出现 ,后者是一个上下文菜单, 一般点击某个条目会在手机屏幕中出现一个类似悬浮窗口的菜单 ...

  2. 在活动中使用Menu

    1.在res下创建menu普通文件夹,在menu下创建名为main的Menu资源文件 2.在menu组件下创建item组件:资源id,title标题名称 3.覆盖活动中的onCreateOptions ...

  3. Android——在活动中使用Menu

    ADT在HelloWorldActivity中自动创建了一个onCreateOptionsMenu()方法.这个方法是用于在活动中创建菜单的,现在我们来仔细分析一下了.手机毕竟和电脑不同,它的屏幕空间 ...

  4. Android 在活动中使用 Menu

    •前行必备--创建 menu 首先,新建一个项目,选择 Empty Activity 选项,并命名为 Test Menu: 这样 Android Studio 自动为我们新建 MainActivity ...

  5. Cocos2d-x lua 游戏中的菜单(Menu)

    菜单相关类包含 菜单(Menu)类 和 菜单项( MenuItem )类 Menu类图(派生于Layer) ref <-- Node <-Layer <-- Menu MenuIte ...

  6. android中常用菜单(menu)的基本知识

    (一)选项菜单 1.简单的创建菜单: @Override public boolean onCreateOptionsMenu(Menu menu) { super.onCreateOptionsMe ...

  7. 解决android4.0系统中菜单(Menu)添加Icon无效问题

    本文转载自: http://blog.csdn.net/stevenhu_223/article/details/9705173 在Android4.0系统中,创建菜单Menu,通过setIcon方法 ...

  8. 菜单(Menu)的三中创建方式——Android开发之路2

    菜单的三种创建方式 一.OptionsMenu---选项菜单 Android应用中的菜单默认是隐藏的,只有当用户点击手机上的MENU键,系统才会显示菜单.这种菜单叫做选项菜单(Options Menu ...

  9. Ecshop 后台增加一个左侧列表菜单menu菜单的方法

    Ecshop 后台增加一个左侧列表菜单menu菜单需要修改三个文件:/admin/includes/inc_menu.php/admin/includes/inc_priv.php/languages ...

随机推荐

  1. HDU 2082 找单词 (普通母函数)

    题目链接 Problem Description 假设有x1个字母A, x2个字母B,..... x26个字母Z,同时假设字母A的价值为1,字母B的价值为2,..... 字母Z的价值为26.那么,对于 ...

  2. Linux终端提示符PS1设置(颜色)

    \d :代表日期,格式为weekday month date,例如:"Mon Aug 1"\H :完整的主机名称.例如:我的机器名称为:fc4.linux,则这个名称就是fc4.l ...

  3. usb_submit_urb 解释的够够的

    /** * usb_submit_urb - issue an asynchronous transfer request for an endpoint * @urb: pointer to the ...

  4. Linux下多路径multipath配置【转】

    一.multipath在redhat 6.2中的基本配置: 1. 通过命令:lsmod |grep dm_multipath  检查是否正常安装成功.如果没有输出说明没有安装那么通过yum功能安装一下 ...

  5. openjudge-NOI 2.6-2718 移动路线

    题目链接:http://noi.openjudge.cn/ch0206/2718/ 题解: 递推,某一个点只能从其左边或者下边走过来 f[i][j]存储(i,j)这个点上的结果,即f[i][j]=f[ ...

  6. learnyounode 题解

    //第三题 var fs =require('fs')var path=process.argv[2]fs.readFile(path,function(err,data){ var lines=da ...

  7. java版云笔记(五)

    下来是创建笔记本,创建笔记,这个没什么难点和前面是一样的. 创建笔记本 首先点击"+"弹出添加笔记的对话框,然后点击确定按钮创建笔记本. //点击"+"弹出添加 ...

  8. golang类型转换小总结

    1. int <--> string 1.1. int --> string str := strconv.Itoa(intVal) 当然,整数转换成字符串还有其他方法,比如 fmt ...

  9. 新版Java为什么要修改substring的实现

    Java字符串的截取操作可以通过substring来完成.有意思的是,这个方法从jdk1.0开始,一直到1.6都没有变化,但到了1.7实现方式却发生了改变.你可能会认为之所以要对一个成熟且稳定的方法做 ...

  10. python开发学习-day04(迭代器、生成器、装饰器、二分查找、正则)

    s12-20160123-day04 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...