http://www.cnblogs.com/Mrs-cc/archive/2012/07/21/2603042.html

1.OptionsMenu (选项菜单)用法总结
使用方法:
方法一:添加菜单项:onCreateOptionsMenu(Menu menu)中添加menu.add(Menu.NONE,Menu.FIRST+1,5,"删除").setIcon()------>添加选择菜 单项事件:在onOptionsItemSelected(MenuItem item)中 switch(item.getItemId()),然后添加对应选择事件------>添加关闭菜单事 件:onOptionsMenuClosed(Menu menu),在其中添加代码即可-------->添加准备菜单(菜单显示之前的事件),在其中添加代码即可
方法二:添加菜单的样式:在res中创建menu目录,建立 xml,<menu><item id&&icom.etc></item></menu>-------> onCreateOptionsMenu(Menu menu)中 this.getMenuInflater().inflate(R.menu.options_menu,menu);
函数说明:
add()方法的四个参数,依次是:
1、组别,如果不分组的话就写Menu.NONE,
2、Id,这个很重要,Android根据这个Id来确定不同的菜单
3、顺序,那个菜单现在在前面由这个参数的大小决定,从1到6一次是同上往下,从左到右排。
4、文本,菜单的显示文本
setIcon(图片路径):为菜单设置图标
getMenuInflater().inflate(R.menu.options_menu,menu):
a.inflate的作用是将xml定义的而一个布局找出来,但仅仅是找出来。
b.第一个参数是布局,第二个参数是菜单。
2.ContextMenu上下文菜单
继承自Menu。与选项菜单不同的是:选项菜单服务于Activity,二上下文菜单式注册到某个View对象上的。而且使用上下文菜单需要注册,否则无法显示。最后上下文菜单无法添加图标和快捷键。
使用顺序: 添加菜单的样式:在res中创建menu目录,建立xml,<menu><item id&&icom.etc></item></menu>,每个上下文子菜单对应一个xml -------> 注册:onCreate()中使用registerForContextMenu(控 件);--------->onCreateOptionsMenu(Menu menu)中创建一个MenuInflater,用if判断出传入的View是哪个控件中,在这触发控件所得到的菜单的样 式:inflater.inflate(样式,menu);
3.子菜单 SubMenu
使用顺序:
1、 覆盖Activity的onCreateOptionsMenu()方法,调用Menu的addSubMenu()方法来添加子菜单
2、 调用SubMenu的add()方法,添加子菜单
3. 用SubMenu.setHeaderIcon(),和SubMenu.setHeadTitle()设置标题 和标题图片。
3、 覆盖onContextItemSelected()方法,响应子菜单的单击事件

转载于:https://www.cnblogs.com/misybing/p/4798766.html

Android 控件 之 Menu 菜单相关推荐

  1. Android控件点击圆形阴影反馈解决方案

    Android控件点击圆形阴影反馈解决方案 愿景 对于手机App而言,没有反馈效果的按钮使用体验是不舒服的.最近在深入学习Material Design,对其中的ripple效果比较感兴趣.我想着尝试 ...

  2. 为ASP.NET控件加入快捷菜单

    Cutting Edge:为ASP.NET控件加入快捷菜单 英文原文: Adding a Context Menu to ASP.NET Controls 作者:Dino Esposito 翻译: M ...

  3. fineui grid ajax,基于FineUI Grid控件添加右键菜单

    FineUI官方Demo上一直没有Grid右键菜单的实现,其实从4.1.x的版本开始,允许添加自定义的事件监听(Listeners),所以要实现这个功能已经相当容易了. ExtJs右键菜单有很多种,对 ...

  4. 【079】用代码来创建 Android 控件

    一般来说我们在创建控件的时候都是在 XML 文件中完成的, 实施起来还是蛮方便的, 而且修改起来也可以很快的看见效果, 但是有一个很大的劣势就是没办法动态的创建控件, 举个例子, 例如我从数据库中取出 ...

  5. Android 控件架构及View、ViewGroup的测量

    附录:示例代码地址 控件在Android开发的过程中是必不可少的,无论是我们在使用系统控件还是自定义的控件.下面我们将讲解一下Android的控件架构,以及如何实现自定义控件. 1.Android控件 ...

  6. Android控件美化Shape

    Android控件美化Shape你会用吗?   -- 未审核 编辑文档  如果你对Android系统自带的UI控件感觉不够满意,可以尝试下自定义控件,我们就以Button为例,很早以前Android1 ...

  7. android控件属性

    android控件属性 控件属性: android属性 Android功能强大,界面华丽,但是众多的布局属性就害苦了开发者,下面这篇文章结合了网上不少资料, 第一类:属性值为true或false an ...

  8. Android控件系列之RadioButtonRadioGroup

    2019独角兽企业重金招聘Python工程师标准>>> 学习目的: 1.掌握在Android中如何建立RadioGroup和RadioButton 2.掌握RadioGroup的常用 ...

  9. 最简单也最难——如何获取到Android控件的高度,获取android控件

    最简单也最难--如何获取到Android控件的高度,获取android控件 问题 如何获取一个控件的长和高,相信很多朋友第一眼看见这个问题都会觉得很简单,直接在onCreate里面调用getWidth ...

最新文章

  1. 为什么你老是讲不清楚js的继承模式
  2. Linux学习之路4——文件IO打开、创建、读写操作
  3. 英文版Ubuntu 16.04系统如何解决gedit中文显示乱码的问题
  4. 字母框如何影响UI内容的理解
  5. Boostrap技能点整理之【网格系统】
  6. Kubernetes教程
  7. Flutter布局锦囊---完善信息页
  8. Helm 3 完整教程(二十二):如何设置 Chart 安装完成后提示 NOTE 信息
  9. JavaScript的Array对象使用(1)
  10. 置换群Polya定理(poj 2409: Let it Bead)
  11. 学习Maven之Maven Surefire Plugin(JUnit篇)(转)
  12. 精读CSS权威指南第四版(4)
  13. Core Location 电子围栏:入门
  14. vue单页面应用项目优化总结
  15. 数据库入门-----Windows平台下按照和配置MySQL
  16. 关于轩微电子ADS1256+stm32f103开发板的一点使用小tip
  17. 1997-2020年31省进出口总额
  18. 从零开始写高性能的人脸识别服务器(三)
  19. 种植业适宜性评价算法
  20. 计算机专业对数学英语要求高吗,大学专科计算机专业对英语数学的要求高么

热门文章

  1. 华为技术面试编码题_最佳技术编码面试准备书
  2. todoist 无法登陆_通过构建Todoist克隆将您的React技能提升到一个新的水平
  3. 软件访问转向本地_我是如何从完整的初学者转向软件开发人员的,以及如何做到的...
  4. 现代hy-9600音响_从音响工程师到软件工程师-为什么我要学习编码
  5. java登陆界面连接数据库_java 登陆界面怎么写,连接数据库后
  6. apply()智用:需要几个参数但只有一个参数数组
  7. web前端干货:详细了解JS前端开发框架都有哪些
  8. c语言考试经典编程题目及答案,经典练习C语言编程的题目及答案整理
  9. 面试题:2018最全Redis面试题整理
  10. 使用Vue+Spring Boot实现Excel上传