Android menu的使用方法
来源:互联网 发布:湖北麻将源码 编辑:程序博客网 时间:2024/06/06 17:59
1. 概述
本文谈谈Android系统中菜单的使用方法。
1.1 主要内容
基本思想:
- 和所有的UI思想一样,Android的菜单(Menu)是由菜单项(Menu Item)组成的。
- 菜单包括通常的菜单的概念和弹出式菜单(Popup Menu)(也称上下文菜单,Context Menu);——前者是指按了某个按钮之后,弹出来的那种菜单;后者是右键某个界面的时候弹出来的菜单。在Android系统中,也支持鼠标右键的设备;其他情形,就是在某个View中长按,然后会弹出来上下文菜单。
- Android另外有个Menu Actions的概念,或成Action Menu,或简称Action。这个是出现在屏幕最上面或下面的Action Bar上面的menu item。
1.2 参考资料
安装ADT之后,可以把Android SDK的docs下载到本地,方便查看。解决被墙的时候无法上Android官网的问题。
本文描述的Menu对应如下位置:
- Menu Topic: /sdk/docs/guide/topics/ui/menus.html
- Menu API: /sdk/docs/reference/android/view/Menu.html
- Menu Item API: /sdk/docs/reference/android/view/MenuItem.html
2. Android向导生成的菜单
现在看看Android向导为我们生成的缺省project中的菜单信息。
2.1 菜单资源文件
对应res\menu\main.xml,其内容如下:
<menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" tools:context="com.example.hellomenus.MainActivity" > <item android:id="@+id/action_settings" android:orderInCategory="100" android:showAsAction="never" android:title="@string/action_settings"/></menu>
整个xml对应一个菜单,其中的每一个item就对应一个menu item。
2.2 初始化菜单
应用在初始化的时候,会调用onCreateOptionsMenu()来创建菜单:
@Overridepublic boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true;}这里直接从前面提到的res\menu\main.xml生成菜单。
2.3 处理菜单选择事件
这是在onOptionsItemSelected()方法中处理的,如下:
@Overridepublic boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item);}
这里的menu item的id就是main.xml中定义的。
2.4 效果
Android手机有3个键:Back、Home、Menu。当按了Menu之后,就会弹出菜单项,如下:
3. 一些细节
3.1 menu item的一些属性
0 0
- Android menu的使用方法
- Android Popup Menu的使用方法
- Android Floating Context Menu的使用方法
- Menu的基本使用方法
- 传统menu的使用方法总结
- Android Menu的使用
- android的Menu使用
- android的Menu使用
- android的Menu使用
- android的Menu使用
- android的Menu使用
- android的Menu使用
- android的Menu使用
- Android Menu的创建
- android的Menu使用
- android的Menu使用
- android的Menu使用
- android的Menu使用
- hdu4339 线段树
- MFC dll
- AFNetworking
- C++内存分配方式详解——堆、栈、自由存储区、全局/静态存储区和常量存储区
- 转载:查看本地windows的字符集方法
- Android menu的使用方法
- 怎样使用Unity3D开发Flappy Bird游戏
- 后缀数组da函数和calheight函数注释详解
- 指针和数组函数的关联和各自的区别
- 暑假总结
- 转载:【字符集】“客户终端字符集”、“NLS_LANG”环境变量以及“数据库字符集”
- 摘录的些许概念__RIA
- RequestQueue 请求队列
- Ubuntu麒麟版14.02 下安装QT5.3.1后提示 "提示无法找到 -LGL"