menu的使用
来源:互联网 发布:英雄杀官职怎么算法 编辑:程序博客网 时间:2024/06/11 17:41
在手机,当Menu按下的时候,每个Activity都可以选择处理这一请求,在屏幕底部弹出一个菜单,这个菜单我们就叫他选项菜单OptionsMenu,一般情况下,选项菜单最多显示2排每排3个菜单项,这些菜单项有文字有图标,也被称作Icon Menus,如果多于6项,从第六项开始会被隐藏,在第六项会出现一个More里,点击More才出现第六项以及以后的菜单项,这些菜单项也被称作Expanded Menus。
menu实现方法有很多种,第一种,在menu中的main.xml中定义局文件:
<menu xmlns:android="http://schemas.android.com/apk/res/android" > <group android:id="@+id/logined" android:menuCategory="alternative"> <item android:id="@+id/item1" android:title="菜单1" android:orderInCategory="2" android:icon="@drawable/ic_launcher"> </item> <item android:id="@+id/item2" android:title="菜单2" android:orderInCategory="6" android:icon="@drawable/ic_launcher"> </item> </group> <group android:id="@+id/unlogin" android:menuCategory="container"> <item android:id="@+id/item3" android:title="菜单3" android:orderInCategory="5" android:icon="@drawable/ic_launcher"> </item> <item android:id="@+id/item4" android:orderInCategory="4" android:title="菜单4" android:icon="@drawable/ic_launcher"> </item> </group> </menu>在MainActivity中引用布局文件
@Overridepublic boolean onCreateOptionsMenu(Menu menu) {MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.main, menu); return true;}
在MainActivity中添加监听处理
@Overridepublic boolean onMenuItemSelected(int id, MenuItem item) {// TODO Auto-generated method stub//switch(item.getItemId())switch(item.getItemId()){case R.id.item1:Toast.makeText(getApplication(), "item1", Toast.LENGTH_SHORT).show();break;case R.id.item2:Toast.makeText(getApplication(), "item2", Toast.LENGTH_SHORT).show();break;case R.id.item3:Toast.makeText(getApplication(), "item31", Toast.LENGTH_SHORT).show();break;case R.id.item4:Toast.makeText(getApplication(), "item4", Toast.LENGTH_SHORT).show();break;}return super.onMenuItemSelected(id, item);}
使用下面这个效果是一样的
// @Override// public boolean onOptionsItemSelected(MenuItem item) {// // TODO Auto-generated method stub// switch(item.getItemId()){// case R.id.item1:// Toast.makeText(getApplication(), "item1", Toast.LENGTH_SHORT).show();// break;// case R.id.item2:// Toast.makeText(getApplication(), "item2", Toast.LENGTH_SHORT).show();// break;// case R.id.item3:// Toast.makeText(getApplication(), "item31", Toast.LENGTH_SHORT).show();// break;// case R.id.item4:// Toast.makeText(getApplication(), "item4", Toast.LENGTH_SHORT).show();// break;// }// return super.onOptionsItemSelected(item);// }
第二种方法是:
protected static final int SHEN = Menu.FIRST;protected static final int SHEN1 = Menu.FIRST + 1;protected static final int XIAO = Menu.FIRST + 2;protected static final int XIAO1 = Menu.FIRST + 3;// menu菜单选项public boolean onCreateOptionsMenu(Menu menu) {// TODO Auto-generated method stubsuper.onCreateOptionsMenu(menu);menu.add(0, SHEN, 0, "item1");// 添加menu菜单一个itemmenu.add(0, SHEN1, 0, "item2");// 添加menu菜单一个itemmenu.add(0, XIAO, 0, "item3");// 添加menu菜单一个item// 第一个参数是菜单所在组的名字,组的id,第二个是item的id ,第三个是item// 最后一个是item显示的内容。return true;}
更详细可参考这里:http://www.cnblogs.com/giuz/archive/2010/10/19/1855235.html
0 0
- menu控件的使用
- Struts menu的使用
- Menu控件的使用
- menu控件的使用
- Android Menu的使用
- android的Menu使用
- android的Menu使用
- android的Menu使用
- android的Menu使用
- android的Menu使用
- android的Menu使用
- android的Menu使用
- Menu的使用
- Menu的使用
- android的Menu使用
- android的Menu使用
- android的Menu使用
- android的Menu使用
- Unity3D动作类游戏中两种相机抖动
- 报表填报时,如何实现多个单元格绑定一个字段?
- 《JavaScript高级程序设计》读书笔记——窗口大小
- iOS的三维透视投影
- Log4j日志级别
- menu的使用
- 打开VS2012的创建单元测试功能
- 对象的方法及调用
- Core Animation之CATransform3D学习篇
- (Windows)Redis安装
- pyrMeanShiftFiltering函数
- 让你爱上Mac的N大理由
- phpMyAdmin与远程数据库配置
- Shell编程(运算符)