在XML中定义菜单
来源:互联网 发布:淘宝美工专业名词 编辑:程序博客网 时间:2024/04/29 20:13
和Android UI Layout一样,我们也可以在XML中定义应用程序的菜单。通过在菜单的onCreateOptionsMenu方法中膨胀菜单layout。这样做会使我们的程序代码简单多了,而且尽可能的将更多的界面设计部分放到XML,便于浏览。
1. 在工程的/res/文件夹下创建menu文件夹,用来保存你为应用程序定义的菜单XML文件。
在菜单XML layout中,有三个有效的元素:menu、group、item。item和group必须是menu的子元素,且item必须是group的子元素。另外的menu可以是item的子元素(为了创建子菜单)。下面的XML片段显示了菜单的层次定义:
<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"><item android:title="Play" android:id="@+id/media_play" android:icon="@android:drawable/ic_media_play"/><item android:title="Pause" android:id="@+id/media_pause" android:icon="@android:drawable/ic_media_pause"/><item android:title="File" android:id="@+id/file"><menu><item android:title="Open..." android:id="@+id/file_open"/><item android:title="Save" android:id="@+id/file_save"/><item android:title="Save as" android:id="@+id/file_saveas"/><item android:title="Exit" android:id="@+id/file_exit"/></menu></item><item android:title="Edit" android:id="@+id/edit"><menu><group><item android:title="Copy" android:id="@+id/edit_copy"/><item android:title="Paste" android:id="@+id/edit_paste"/><item android:title="Cut" android:id="@+id/edit_cut"/><item android:title="Delete" android:id="@+id/edit_delete"/></group></menu></item></menu>
2. 重写Activity的onCreateOptionsMenu方法,通过MenuInflater.inflate方法来膨胀菜单XML。
MenuInflater inflater = getMenuInflater();inflater.inflate(R.menu.menu_option, menu);
3. 在Activity的onOptionsItemSelected方法中处理每个菜单项的点击事件:
@Overridepublic boolean onOptionsItemSelected(MenuItem item) {super.onOptionsItemSelected(item);switch (item.getItemId()) {case R.id.media_play: break;case R.id.media_pause: break;case R.id.file_open: break;case R.id.file_save:…}return true;}
在XML可以定义菜单项的图标、快捷键、checkbox等更多特征,了解更多请查阅SDK中关于菜单的主题。
演示的效果如图:
原文地址:
- 在XML中定义菜单
- 在XML中定义菜单
- Android 在XML中定义菜单
- Define Menus in XML 在xml中定义菜单选项
- 定义XML菜单文件
- 在XML中定义逐帧动画
- 在strings.xml中定义html标签
- 在strings.xml中定义html标签
- 在web.xml中配置servlet定义
- 使用Drawable资源--在xml中定义
- 在xml文件中定义图片数组
- 通过xml文件定义菜单
- 使用 XML 定义选项菜单
- Validator 验证 - 在validation.xml中定义常量
- Android 如何在XML文件中定义动画
- Android自定义View研究(四) -- 在XML中定义View
- Android 在定义string的xml文件中插入空格
- 关于在XML中定义drawable数组/id
- HttpClient通过Post上传文件
- C#开机自启动时最小化到托盘,右击显示菜单
- 计算最长回文子串
- 第二部分 Linux Shell高级编程技巧——第一章 深入讨论
- HDOJ 1728 逃离迷宫 (BFS)
- 在XML中定义菜单
- 黑马程序员 05 Java基础教学 - 05 - 面向对象(1) 之 类、对象、封装
- 小数转分数
- Oracle 10g创建数据库 用户等基本操作
- ubuntu10.04开发环境配置
- Linux下获取system调用的命令的返回值
- 利用JSP交互式打印表格
- 【数位DP】Bomb HDU3555
- 关于Android 4.0以下版本解析带有bom头信息的json数据