Android onCreateOptionsMenu的使用方法总结

任何一款软件都少不了对“菜单”的使用。在Android下,每一个activity都捆绑了一个Menu,要想定义和使用菜单,都必须在Activity下进行操作,复写onCreateOptionsMenu 和 onOptionsItemSelected这两个方法。举例如下:

@Override public boolean onCreateOptionsMenu(Menu menu) {   //调用基类的方法,以便调出系统菜单(如果有的话)   super.onCreateOptionsMenu(menu);   menu.add(0, 1, 0, "重新开始").setIcon(R.drawable.refresh);   menu.add(0, 2, 0, "游戏指南").setIcon(R.drawable.help);   menu.add(0, 3, 0, "关于游戏").setIcon(R.drawable.info);   menu.add(0, 4, 0, "不想玩了").setIcon(R.drawable.exit);   //返回值为”true”,表示菜单可见,即显示菜单   return true; } 

看一看menu.add的方法中的参数:

第一个int类型的group ID参数,代表的是组概念,你可以将几个菜单项归为一组,以便更好的以组的方式管理你的菜单按钮。可以用到的方法有:

removeGroup(id) setGroupCheckable(id, checkable, exclusive) setGroupEnabled(id,boolean enabled) setGroupVisible(id,visible) 

个人认为,当你需要在不同场合下显示不同的menu的时候,合理使用这个参数将更为有效的处理菜单的显示。否则一般情况下都归为一组。

第二个int类型的item ID参数,代表的是项目编号。这个参数非常重要,一个item ID对应一个Menu中的选项。在后面使用菜单的时候,就是靠这个item ID来判断,你选中的是哪个选项。

第三个int类型的order ID参数,代表的是菜单项的显示顺序。默认是0,表示菜单的显示顺序就是按照add的顺序来显示。

第四个String类型的title参数,表示选项中显示的文字。

再看看setIcon方法,就是为菜单添加图标显示,使用用资源文件。

设计好了菜单,继续复写onOptionsItemSelected方法,用以对菜单的响应,示例代码:

@Override public boolean onOptionsItemSelected(MenuItem item) {   super.onOptionsItemSelected(item);   switch(item.getItemId()){     case 1:       //处理代码       break;     case 2:       //处理代码       break;     case 3:       //处理代码       break;     case 4:       finish();       break;    }   return true; }

以上就是Android onCreateOptionsMenu的参数详细介绍,如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助大家,谢谢大家对本站的支持!

更多相关文章

  1. Android(安卓)学习笔记 databinding简单使用:使用databinding在li
  2. android学习日记之fragment
  3. android 反射应用
  4. android关于输入法弹出时的UI变动
  5. Android设置图片圆角的方法
  6. Android:Java Native Interface入门
  7. Android(安卓)动态权限 第三方库总结
  8. Android中ClearEditText实现点击EditText输入框右边清除图标来清
  9. Android(安卓)9.0 Bluetooth源码分析(三)蓝牙配对流程

随机推荐

  1. 面试题:文本摘要中的NLP技术
  2. 请用Python手写实现插入排序
  3. 电脑本地换IP用派克斯如何实现
  4. 面试题:预训练方法 BERT和OpenAI GPT有什
  5. cp网站源码安装步骤详情
  6. ORA-29770: global enqueue process LMS
  7. Github最火!程序员必须知道22大定律和法则
  8. python常用的图像处理工具有哪些?工具推
  9. Ryft Cloud迁移到AWS EC2 F1实例上来了!
  10. 频谱分析仪中的 Spartan-6 FPGA