- 选项菜单:OptionsMenu
- 浏览: 220931 次
文章分类
- 全部博客 (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 4330倒计时和计时在比赛中经常用到,由于涉 ... -
关于如何为ListView里控件添加监听方法
2017-08-24 18:47 1501关于ListView ... -
关于build-tools 26.0.0报错解决及Neon3 2017版本android解决
2017-06-28 17:07 2013今天新建安 ... -
关于Android布局weight权重设计
2016-10-31 19:42 722... -
利用Android的Gesture手势识别花样侧滑
2016-08-18 11:19 680... -
Android开始开发遗漏的点
2016-04-05 15:18 924... -
Android如何应对不同分辨率手机匹配问题
2016-09-09 18:13 961... -
Android弹出窗口与QQ好友分组列表(21)
2015-04-11 12:16 1562弹出窗口,其实就是在改变某一状态弹出的窗口 首先定义P ... -
Android隐式抽屉及缩放控制(20)
2015-04-10 20:55 944SlidingDrawer是一种抽屉型组件,当用户打开这个 ... -
Androd之标签页面切换(18)
2015-04-09 15:39 944标签,在使用手机中经常会用到标签,首先我们用继承TabAc ... -
Android相册及小小秒表震动(17)
2015-04-09 01:11 1239说到相册不得不 ... -
Android之模拟美图看看拖动看图(16)
2015-04-08 16:54 883这节课我们进入深入人 ... -
Android模拟Windows照片查看器(15)
2015-04-08 16:41 910我们在浏览图片的时候,尤其在使用美图看看的时候 ... -
Android美团评分组件及消息提示框自我定制(14)
2015-04-07 13:46 1164评分组件也疯狂 美团完,淘宝完,消费完,那些各种评分 ... -
Android随笔提示以及seekbar调节屏幕亮度(13)
2015-04-07 13:39 1823随笔提示文本: 使用百度等搜索引擎的时候,经 ... -
Andrid之对话框百变篇(12)
2015-04-02 22:07 776日期选择器 时间选择器 这两个对话框异曲同工, ... -
Android之对话框百变篇(11)
2015-04-02 09:40 1070在美团模仿版中我们 ... -
Android之ListView监听事件(10)
2015-03-31 11:33 1236... -
Android之listview运用(美团美食列表)(9)
2015-03-30 19:17 2108首先我们将listview简单实现, ... -
Android中的基本控件(8)
2015-03-29 21:45 900安卓中的基本控件:滚动视图ScrollView, ...
相关推荐
标题中的“如何打破行政部绩效考核大锅饭现象”指的是企业在进行行政部职能人员绩效考核时,普遍存在的问题,即无论员工工作表现如何,考核结果相差不大,类似于“大锅饭”的现象。这种情况削弱了绩效考核的激励作用...
每个`TreeViewItem`都有一个唯一的ID,以及与之关联的数据。通过`TreeView.Rebuild()`方法,我们可以更新整个视图,而`TreeView.SetSelection()`则用于选择或取消选择特定的节点。 为了实现可交互性,我们还需要...
【Android蓝牙无线对讲demo】是一个专为Android设备设计的应用示例,它展示了如何通过蓝牙技术实现手机与蓝牙耳机之间的无线语音通信。该应用允许用户在连接蓝牙耳机后,进行实时的语音对讲,同时提供了音量调节功能...
在“商用电磁大锅灶”这个特定场景下,我们可以理解为电子政务在商业烹饪设备管理领域的应用。商用电磁大锅灶是一种高效、节能的烹饪设备,广泛应用于餐馆、酒店等商业厨房。将这种设备与电子政务相结合,可能是为了...
标题中的“行业文档-设计装置-一种节能环保燃气大锅灶”揭示了这个压缩包内容主要涉及的是关于节能环保型燃气大锅灶的设计与技术说明。这种装置通常用于餐饮业或者大型食堂,旨在提供高效且环保的烹饪解决方案。接...
「大锅乱炖10大H5前端框架」.docx
- 孩子能将滚筒和陀螺组合成“大锅”,展示出丰富的想象力和创新思维,将日常生活经验融入游戏。 3. **自我保护意识与身体协调性**: - 孩子在差点摔倒后能迅速调整身体,保持平衡,体现出自我保护意识和身体...
大锅酿造 使您可以在改良的大锅中酿造药水。 要创建大锅,只需将香草大锅放在手工制作的工作台上,并在其下方放上火焰粉。 所有食谱均与香草相同。 现在有一个“额外的内容”选项,使您可以在酿造大锅中为物品注入...
初中语文语文论文从“大锅饭”到“联产承包”
在实际应用中,如果手头没有正馈大锅,也可以将罐头天线尝试用在偏馈天线上进行测试,不过这种情况下其性能可能略有不同。 总的来说,罐头天线的DIY制作方法简单,易于操作,不需要太多的电子和无线电知识。它是一...
初始化子模块:git submodule update --init --recursive 设置工作区:gradlew setupCauldron 构建二进制文件:gradlew buildPackages 注意:所有二进制文件都将在发行版文件夹中支撑大锅单击此处向单击此处 [成为 ...
"魔术大锅-项目开发"是一个独特且富有创意的IT项目,它将技术与魔法主题巧妙结合,旨在为用户带来一种全新的互动体验。这个项目的核心是利用编程技术,特别是React框架,来创建一个能响应咒语施放的动态照明效果。...
大锅模 什么是大锅? 大锅是 Than Games合作纸牌游戏的定制的粉丝扩展。这些甲板是由他的室友和他的兄弟Matthew Bishop(@Tosx)设计的。基本设定于2013年左右开始,最后一组设定于2019年完成。 该项目将把梦幻般的...
【标题】"您无法在这个令人毛骨悚然的大锅上爬行!-项目开发" 描述了一款互动式的万圣节儿童道具。这个项目显然旨在为孩子们创造一个恐怖且有趣的体验,让他们在接近一个模拟女巫大锅时感受到紧张刺激的氛围。这种...
中间加一些小技巧之类的.不过我觉得还是值得一些关注的朋友期待的. 如果没有意外.这个版本应该是一个定型的版本了.在这段期间.有很多朋友问的问题大部分其实都已经不是struts2的范围了.有些都是hibernate和...
ElectrodeNativeAndroidShowCase 这是一个本地android应用程序,其中包含包装在容器内的三个MiniApps和APIMiniApps: 蜜蜂: 此应用程序演示了几种将miniapp集成到本机应用程序中的不同方法。 以下大锅配置用于生成...
至于安装,压缩包中的“DishPointerPro2.0已付费汉化版.apk”文件是适用于Android设备的应用程序安装包。用户只需下载并安装该文件,即可在手机上使用这款强大的卫星搜星工具。需要注意的是,为了确保软件正常运行,...
【标题】:“IIS软件资源的提供” 在IT领域中,Internet Information Services(IIS)是微软公司开发的一款强大的Web服务器应用程序,广泛用于发布网页内容和托管网络应用程序。标题“iis软件资源的的提供”暗示...