menu是android菜单栏控件,选择手机menu键时触发,基本函数如下:

public boolean onCreateOptionsMenu(Menu menu) {MenuItem item2 = menu.add(Menu.NONE, MENU_ID2, Menu.NONE, "菜单项2");MenuItem item3 = menu.add(Menu.NONE, MENU_ID3, Menu.NONE, "菜单项3");MenuItem item4 = menu.add(Menu.NONE, MENU_ID4, Menu.NONE, "菜单项4");MenuItem item5 = menu.add(Menu.NONE, MENU_ID5, Menu.NONE, "菜单项5");

在onOptionSelectItem中处理菜单项选择事件:

    @Overridepublic boolean onOptionsItemSelected(MenuItem item) {if(item.getItemId() == MENU_ID1){ //这里的itemId对应初始化菜单时的第二个参数Toast t = Toast.makeText(this, "菜单项1", Toast.LENGTH_SHORT);t.show();

menu支持增加二级菜单,如下:

SubMenu sub = menu.addSubMenu(Menu.NONE, MENU_ID6, Menu.NONE, "菜单项6 >>"); //参数同menu.add方法sub.setIcon(R.drawable.ic_launcher);sub.add(0, 60, 0, "子菜单6.1");  sub.add(0, 61, 1, "子菜单6.2"); 

menu可通过setIcon对menuItem增加图标,但在android4.0之后的版本需要设置iconEnable:

clazz = Class.forName("com.android.internal.view.menu.MenuBuilder");
Method m = clazz.getDeclaredMethod("setOptionalIconsVisible", boolean.class);
m.setAccessible(true);
m.invoke(menu,true); //执行setOptionalIconsVisible

sub.setIcon(R.drawable.ic_launcher);

转载于:https://www.cnblogs.com/Fredric-2013/archive/2013/01/24/4245473.html

widget(6、menu)相关推荐

  1. JavaFX桌面应用开发-菜单栏-MenuBar、Menu 、MenuItem

    1:MenuBar.Menu .MenuItem 是什么 如下例子:MenuBar就相当于菜单栏的那个长条 Menu相当于菜单栏的File Edit Source...等选项 MenuItem就是Ne ...

  2. vue、Menu 导航菜单、Menu属性事件、vue Menu 全部导航菜单、vue Menu 全部属性事件

    vue.Menu 导航菜单.Menu属性事件.vue Menu 全部导航菜单.vue Menu 全部属性事件 设计规则 何时使用 代码演示 顶部导航 内嵌菜单 缩起内嵌菜单 只展开当前父级菜单 垂直菜 ...

  3. 在android工程中,res目录下又有anim、drawable、layout、menu、raw、values和xml文件夹,分别用来保存?...

    res目录主要是存放资源文件的!layout 布局 这个就是你经常看到的与用户交互的界面的 xml 文件,就是各个 view 的排列和嵌套,没什 么好说的啦 风格和主题. 风格主要是指 view 的显 ...

  4. Android开发:5-3、Menu、Dialog、Fragment

    Menu.Dialog.Fragment Menu的相关API: Menu的一般使用方法: Dialog: 常用的4种Dialog: Fragment Menu的相关API: Menu的一般使用方法: ...

  5. EasyUI(1) 使用方法、引入、创建组件、LinkButton、panel、tree、Menu

    第一步:点击去官网下载EasyUI 第二步:项目中导入easyui所需东西 第三步:引入EasyUI <!-- easyui样式支持 --><link rel="style ...

  6. android 弹出菜单 toast,Android学习第二天:Toast(提醒)、Menu(菜单)、Intent的显式和隐式(包括打开、适配网站,调用拨号界面等)...

    1.Toast提醒 为昨天写的按钮程序添加一个提醒,在MainActivity中添加如下代码: Button bt1 = (Button) findViewById(R.id.button_1); b ...

  7. Android监听返回键、Menu键、Home键、

    back键 监听back键还是很简单的,有两种方法: 调用onBackPressed()方法:调用此方法会自动调用finish(). @Override public void onBackPress ...

  8. Android Studio项目中常见的需要自行创建的资源文件夹的位置(assets、raw、menu、anim等)

    写项目过程中,常遇到一些需要自行创建的资源文件夹时,容易忘记位置,现图示一下常见的资源文件夹的位置(Project 结构):                  

  9. Flutter 基础目录结构介绍、入口自定义widget、等相关组件使用

    提示:此文章为前端学习flutter过程,如有歧义期望各位大大的宝贵意见 学习Dart 基础知识 移步这里 安装flutter环境相关 移步这里 flutter基础组件使用相关 移步这里 文章目录 一 ...

最新文章

  1. 对一个伪装成微信的加固病毒的分析
  2. c++ 获取时间字符串
  3. python大数据分析实例-Python大数据处理案例
  4. 【控制】《多智能体系统一致性协同演化控制理论与技术》纪良浩老师-目录
  5. bat脚本监控tomcat并启动_Windows server利用批处理脚本判断端口启动tomcat的方法
  6. 那些年,我还在学习actionscript
  7. sudo apt-get update 与 sudo apt-get upgrate 的区别
  8. android 注解点击事件,android click事件注解
  9. 数据分布策略_有效数据项目的三种策略
  10. 疲劳驾驶样本集_谷歌AI最新3D数据集,1.5万张动图,让AR主宰你的生活
  11. 格灵深瞳开源全球最大最干净的人脸识别数据集:Glint360K
  12. 广州市php速成培训班,深圳PHP速成培训班
  13. 【图像处理】MATLAB:点、线、边缘检测
  14. dataframe在最后新增一行_【TOOLS】python中对Excel进行写入操作,写入一列或者一行(openpyxl)...
  15. SOA渐行渐近-怎样给IT系统一个新视角?
  16. Stack Frame JAVA运行时数据区域之栈帧
  17. 一文详解BQSR-碱基质量矫正原理和实战
  18. Java使用poi-tl生成word文档
  19. OJ前端使能MathJax
  20. 安全日记—零基础开始学安全(3)

热门文章

  1. 企业内部网的IP解析问题
  2. Unity3d鼠标点击屏幕来控制人物的走动
  3. 3.12 12!配对
  4. 基于SpringBoot+Mybatis+Thymeleaf商品信息管理系统
  5. Java 集合 List Arrays.asList
  6. CentOS6.7上使用FPM打包制作自己的rpm包
  7. ebtables之BROUTING和PREROUTING的redirect的区别
  8. 我看objective-C --不要把objC当做c/c++的超集
  9. SSH HTTPS 公钥、秘钥、对称加密、非对称加密、 总结理解
  10. NYOJ_37_回文字符串