- 选项菜单:OptionsMenu
- 浏览: 214254 次
文章分类
- 全部博客 (145)
- JAVA (21)
- Android初步 (29)
- Android数据存储 (13)
- Android组件通信 (11)
- Android Service (4)
- Android多媒体技术 (11)
- Android Broadcast广播机制 (2)
- Android定位 (1)
- Android项目实战 (8)
- Android安全 (3)
- 面经 (3)
- Java Web (13)
- Ajax (2)
- 框架 (8)
- 黑客养成记 (3)
- Hadoop完全菜鸟学习 (1)
- Java组件设计,深入理解 (3)
- 前沿技术英文原版翻译 (1)
- 原型工具Axure学习 (1)
- Fragment (4)
- 项目管理 (1)
- Spring (1)
最新评论
-
jstl1point0:
这个是很麻烦,搞死人
Eclipse最新版--包括sdk,adt,jdk全部升级下载 -
梳子不爱头发:
shiyu001 写道afinal 过时了吧,都多长时间没更新 ...
afinal框架之Android视频下载,指定路径 -
shiyu001:
afinal 过时了吧,都多长时间没更新了,现在都用 xuti ...
afinal框架之Android视频下载,指定路径 -
落叶留步:
现在看到servlet用注解确实方便,不过也很奇怪,现在基本没 ...
我的第一个Servlet -
gaojingsong:
永久链接: http://gaojingsong.iteye. ...
1:Hadoop安装环境搭建
选项菜单是我们最常用的,我们打开Activity会发现一个目前我们用不到的的自动生成代码:
public boolean onCreateOptionsMenu(Menu menu)
这就是创建菜单的方法,现在我们来实现一个简单的选项菜单:
在Activity加入以下代码:
public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); menu.add(Menu.NONE,Menu.FIRST+1,5,"删除").setIcon(android.R.drawable.ic_menu_delete); menu.add(Menu.NONE,Menu.FIRST+2,2,"保存").setIcon(android.R.drawable.ic_menu_save); menu.add(Menu.NONE,Menu.FIRST+3,6,"帮助").setIcon(android.R.drawable.ic_menu_help); menu.add(Menu.NONE,Menu.FIRST+4,1,"添加").setIcon(android.R.drawable.ic_menu_add); menu.add(Menu.NONE,Menu.FIRST+5,4,"详细").setIcon(android.R.drawable.ic_menu_info_details); menu.add(Menu.NONE,Menu.FIRST+6,7,"发送").setIcon(android.R.drawable.ic_menu_send); menu.add(Menu.NONE,Menu.FIRST+7,3,"编辑").setIcon(android.R.drawable.ic_menu_edit); return true; } public boolean onOptionsItemSelected(MenuItem menu){ switch(menu.getItemId()){ case Menu.FIRST+1: Toast.makeText(this, "您选择的是删除菜单项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST+2: Toast.makeText(this, "您选择的是保存菜单项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST+3: Toast.makeText(this, "您选择的是帮助菜单项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST+4: Toast.makeText(this, "您选择的是添加菜单项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST+5: Toast.makeText(this, "您选择的是详细菜单项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST+6: Toast.makeText(this, "您选择的是发送菜单项", Toast.LENGTH_LONG).show(); break; case Menu.FIRST+7: Toast.makeText(this, "您选择的是编辑菜单项", Toast.LENGTH_LONG).show(); break; } return false; } public void onOptionsMenuClosed(Menu menu){ Toast.makeText(this, "菜单项关闭", Toast.LENGTH_LONG).show(); } public void onOptionsPrepareOptionsMenu(Menu menu){ Toast.makeText(this, "在菜单打开前执行此操作,可以做预处理", Toast.LENGTH_LONG).show(); }
实现效果如下:
另一种方法是在配置文件menu/menu.xml配置菜单项
<?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/item1" android:title="添加" android:icon="@android:drawable/ic_menu_add" /> <item android:id="@+id/item1" android:title="删除" android:icon="@android:drawable/ic_menu_add" /> <item android:id="@+id/item1" android:title="编辑" android:icon="@android:drawable/ic_menu_add" /> <item android:id="@+id/item1" android:title="帮助" android:icon="@android:drawable/ic_menu_add" /> </menu>
然后将Activity修改为:
public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); super.getMenuInflater().inflate(R.menu.mymenu, menu); // menu.add(Menu.NONE,Menu.FIRST+1,5,"删除").setIcon(android.R.drawable.ic_menu_delete); // menu.add(Menu.NONE,Menu.FIRST+2,2,"保存").setIcon(android.R.drawable.ic_menu_save); // menu.add(Menu.NONE,Menu.FIRST+3,6,"帮助").setIcon(android.R.drawable.ic_menu_help); // menu.add(Menu.NONE,Menu.FIRST+4,1,"添加").setIcon(android.R.drawable.ic_menu_add); // menu.add(Menu.NONE,Menu.FIRST+5,4,"详细").setIcon(android.R.drawable.ic_menu_info_details); // menu.add(Menu.NONE,Menu.FIRST+6,7,"发送").setIcon(android.R.drawable.ic_menu_send); // menu.add(Menu.NONE,Menu.FIRST+7,3,"编辑").setIcon(android.R.drawable.ic_menu_edit); return true; }
前面的代码注释掉了,两种方法都可以,但是为了以后的修改方便不要使用过多的硬代码,符合MVC模式,建议用第二种方法。
- 上下文菜单 ContextMenu
上下文菜单类似于windows右键功能,以列表形式列出一系列菜单,这种在手机默认显示上下文菜单,在虚拟器显示选项菜单。因此读者了解即可
- 子菜单 菜单中的菜单
Activity代码是:
public class MainActivity extends Activity { private String data[] = new String[] { "操作系统", "计算机网络", "计算机图形", "信息安全", "汇编语言" }; // 定义ListView的显示项 private ListView listView = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); this.listView = new ListView(this); this.listView.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, this.data)); super.setContentView(this.listView); super.registerForContextMenu(this.listView) ; } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. SubMenu save=menu.addSubMenu("保存"); SubMenu edit=menu.addSubMenu("编辑"); save.add(Menu.NONE,Menu.FIRST + 1 , 1, "新建") ; save.add(Menu.NONE,Menu.FIRST + 2 , 2, "打开") ; save.add(Menu.NONE,Menu.FIRST + 3 , 3, "保存") ; edit.add(Menu.NONE,Menu.FIRST + 4 , 4, "撤消") ; edit.add(Menu.NONE,Menu.FIRST + 5 , 5, "恢复") ; return true; } public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()) { // 判断操作的菜单ID case Menu.FIRST + 1: Toast.makeText(this, "您选择的是“添加联系人”项", Toast.LENGTH_LONG).show() ; break ; case Menu.FIRST + 2: Toast.makeText(this, "您选择的是“查看详情”项", Toast.LENGTH_LONG).show() ; break ; case Menu.FIRST + 3: Toast.makeText(this, "您选择的是“删除信息”项", Toast.LENGTH_LONG).show() ; break ; case Menu.FIRST + 4: Toast.makeText(this, "您选择的是“另存为”项", Toast.LENGTH_LONG).show() ; break ; case Menu.FIRST + 5: Toast.makeText(this, "您选择的是“编辑”项", Toast.LENGTH_LONG).show() ; break ; } return false; } }
效果:
发表评论
-
Android计时器和倒计时的实现(含开始,暂停,和复位)
2018-05-25 15:44 4237倒计时和计时在比赛中经常用到,由于涉 ... -
关于如何为ListView里控件添加监听方法
2017-08-24 18:47 1453关于ListView ... -
关于build-tools 26.0.0报错解决及Neon3 2017版本android解决
2017-06-28 17:07 1959今天新建安 ... -
关于Android布局weight权重设计
2016-10-31 19:42 677... -
利用Android的Gesture手势识别花样侧滑
2016-08-18 11:19 643... -
Android开始开发遗漏的点
2016-04-05 15:18 879... -
Android如何应对不同分辨率手机匹配问题
2016-09-09 18:13 881... -
Android弹出窗口与QQ好友分组列表(21)
2015-04-11 12:16 1454弹出窗口,其实就是在改变某一状态弹出的窗口 首先定义P ... -
Android隐式抽屉及缩放控制(20)
2015-04-10 20:55 894SlidingDrawer是一种抽屉型组件,当用户打开这个 ... -
Androd之标签页面切换(18)
2015-04-09 15:39 893标签,在使用手机中经常会用到标签,首先我们用继承TabAc ... -
Android相册及小小秒表震动(17)
2015-04-09 01:11 1194说到相册不得不 ... -
Android之模拟美图看看拖动看图(16)
2015-04-08 16:54 841这节课我们进入深入人 ... -
Android模拟Windows照片查看器(15)
2015-04-08 16:41 865我们在浏览图片的时候,尤其在使用美图看看的时候 ... -
Android美团评分组件及消息提示框自我定制(14)
2015-04-07 13:46 1101评分组件也疯狂 美团完,淘宝完,消费完,那些各种评分 ... -
Android随笔提示以及seekbar调节屏幕亮度(13)
2015-04-07 13:39 1775随笔提示文本: 使用百度等搜索引擎的时候,经 ... -
Andrid之对话框百变篇(12)
2015-04-02 22:07 737日期选择器 时间选择器 这两个对话框异曲同工, ... -
Android之对话框百变篇(11)
2015-04-02 09:40 1026在美团模仿版中我们 ... -
Android之ListView监听事件(10)
2015-03-31 11:33 1181... -
Android之listview运用(美团美食列表)(9)
2015-03-30 19:17 2060首先我们将listview简单实现, ... -
Android中的基本控件(8)
2015-03-29 21:45 851安卓中的基本控件:滚动视图ScrollView, ...
相关推荐
如何打破行政部绩效考核大锅饭现象.pptx
Unity 树形菜单,TreeView组件,自定义的美化TreeView源码和对应demo,样式好看,对初学者是很好的学习资料,然后也可用于Unity项目中
大班:超级大锅乐多多.docx
电子政务-商用电磁大锅灶.zip
Android蓝牙无线对讲demo(手机连接蓝牙耳机后可通过蓝牙耳机实时对讲,音量可调)。记得手机要先连接蓝牙耳机,才能通过蓝牙耳机对讲。
「大锅乱炖10大H5前端框架」.docx
大锅酿造 使您可以在改良的大锅中酿造药水。 要创建大锅,只需将香草大锅放在手工制作的工作台上,并在其下方放上火焰粉。 所有食谱均与香草相同。 现在有一个“额外的内容”选项,使您可以在酿造大锅中为物品注入...
初中语文语文论文从“大锅饭”到“联产承包”
行业文档-设计装置-一种节能环保燃气大锅灶.zip
初始化子模块:git submodule update --init --recursive 设置工作区:gradlew setupCauldron 构建二进制文件:gradlew buildPackages 注意:所有二进制文件都将在发行版文件夹中支撑大锅单击此处向单击此处 [成为 ...
大锅模 什么是大锅? 大锅是 Than Games合作纸牌游戏的定制的粉丝扩展。这些甲板是由他的室友和他的兄弟Matthew Bishop(@Tosx)设计的。基本设定于2013年左右开始,最后一组设定于2019年完成。 该项目将把梦幻般的...
一个“魔力大锅”,可以检测咒语的施放并以动态照明效果做出React。
今天谈谈罐头天线的DIY。 如今,废旧的罐头铁筒随处可见,拿来做WIFI的天线,简单实用。
中间加一些小技巧之类的.不过我觉得还是值得一些关注的朋友期待的. 如果没有意外.这个版本应该是一个定型的版本了.在这段期间.有很多朋友问的问题大部分其实都已经不是struts2的范围了.有些都是hibernate和...
您越靠近,这个交互式女巫的大锅就会变得越来越令人毛骨悚然!
一锅三星安装教程 一锅三星调试 一锅三星设置 一锅三星图 如何安装一锅三星 准备工具和软件 1、冲击钻一台,使用8MM的冲击钻头,铅笔或者油性笔、粉笔都行,用来给打孔的位置做记号,注意你想安装的地方离电源的...
ElectrodeNativeAndroidShowCase 这是一个本地android应用程序,其中包含包装在容器内的三个MiniApps和APIMiniApps: 蜜蜂: 此应用程序演示了几种将miniapp集成到本机应用程序中的不同方法。 以下大锅配置用于生成...
可用于计算偏收C头、KU头距离主焦,或各偏焦之间,夹角等。
大锅饭大概豆腐干大概的大锅饭大概豆腐干 乘法恢复大会