android菜单(menu)用法
Android手机专门用一个按键“menu“来显示菜单。
要实现菜单功能,首先要通过方法onCreateOptionMenu来创建菜单,创建方法有两种:一种是直接导入有menu的xml文件,一种是用类Menu的方法直接添加。创建好菜单后,用事件监听器onOptionItemSelected对能够触发的事件进行监听。
下面这个例子有两个Activity,分别有上面的两种方法实现menu,每个menu里都有事件监听器进行Activity跳转和退出。
1.资源文件下的menu文件res/menu/menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/about" android:title="关于" /> <item android:id="@+id/exit" android:title="退出" /> </menu>
Activity01.java
package com.yarin.android.Examples_04_13; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuInflater; import android.view.MenuItem; public class Activity01 extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } /*创建menu*/ public boolean onCreateOptionsMenu(Menu menu) { //MenuInflater class is used to instantiate menu XML files into Menu objects MenuInflater inflater = getMenuInflater(); //设置menu界面为res/menu/menu.xml inflater.inflate(R.menu.menu, menu); return true; } /*处理菜单事件*/ public boolean onOptionsItemSelected(MenuItem item) { //得到当前选中的MenuItem的ID, int item_id = item.getItemId(); switch (item_id) { case R.id.about: /* 新建一个Intent对象 */ Intent intent = new Intent(); /* 指定intent要启动的类 */ intent.setClass(Activity01.this, Activity02.class); /* 启动一个新的Activity */ startActivity(intent); /* 关闭当前的Activity */ Activity01.this.finish(); break; case R.id.exit: Activity01.this.finish(); break; } return true; } }
Activity02.java
package com.yarin.android.Examples_04_13; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; public class Activity02 extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); /* 设置显示main2.xml布局 */ setContentView(R.layout.main2); } /*创建menu*/ public boolean onCreateOptionsMenu(Menu menu) { //为menu添加内容 menu.add(0, 0, 0, R.string.ok); menu.add(0, 1, 1, R.string.back); return true; } /*处理menu的事件*/ public boolean onOptionsItemSelected(MenuItem item) { //得到当前选中的MenuItem的ID, int item_id = item.getItemId(); switch (item_id) { case 0: case 1: /* 新建一个Intent对象 */ Intent intent = new Intent(); /* 指定intent要启动的类 */ intent.setClass(Activity02.this, Activity01.class); /* 启动一个新的Activity */ startActivity(intent); /* 关闭当前的Activity */ Activity02.this.finish(); break; } return true; } }
本例用到了两个Activity,不要忘记在AndroidManifest.xml中声明。
android菜单(menu)用法相关推荐
- Android菜单—Menu
菜单是常用的用户界面元素,在Android系统里提供了3种类型的菜单. (1)选项菜单(options menu):按设备上Menu 键显示的菜单. (2)上下文菜单(context menu):长按 ...
- Android的菜单栏Menu用法详解(超详细)
菜单栏Menu用法讲解 菜单是Android应用中非常重要且常见的组成部分.能够极大的节省我们页面的使用空间,提高页面的利用率. 安卓常用的菜单有三种: OptionMenu:选项菜单,android ...
- android用户界面之菜单(Menu)教程实例汇总
一.Menu的基本介绍 1.从头学Android之Menu选项菜单 http://www.apkbus.com/android-13930-1-1.html 2.Android 界面之Menu菜单 ...
- Android菜单详解——理解android中的Menu
前言 今天看了pro android 3中menu这一章,对Android的整个menu体系有了进一步的了解,故整理下笔记与大家分享. PS:强烈推荐<Pro Android 3>,是我至 ...
- 系出名门Android(2) - 布局(Layout)和菜单(Menu)
2019独角兽企业重金招聘Python工程师标准>>> 系出名门Android(2) - 布局(Layout)和菜单(Menu) 作者:webabcd 介绍 在 Android 中各 ...
- android 自定义menu背景,Android编程实现自定义系统菜单背景的方法
本文实例讲述了Android编程实现自定义系统菜单背景的方法.分享给大家供大家参考,具体如下: 不多说,上图,见代码. package lab.sodino.menutest; import andr ...
- android 按钮 菜单,(期末要考啊)Android的menu(菜单)按钮的使用
(期末要考啊)Android的menu(菜单)按钮的使用 安卓 Android的菜单按钮 使用xml的方式创建菜单项在res下的menu目录下新建一个main.xml文件,以menu为根节点,添加一个 ...
- android e图标一会有一会没有反应,android解决菜单Menu添加Icon无效问题,让菜单同时显示图标和文字...
今天主要解决在Android 4.0 以上的系统中,在java代码中给菜单Menu动态添加Icon无效问题.本人通过尝试网上给出的涉及到菜单的源码类 MenuBuilder通过反射更改mOptiona ...
- Android中Menu的基本用法
转自:http://blog.csdn.net/yuzhongchun/article/details/8956256 一. 使用xml定义Menu 菜单资源文件必须放在res/menu目录中.菜单资 ...
最新文章
- 全面理解目标检测中的anchor
- 皮一皮:大自然的力量你无法想象...
- Bootstrap4+MySQL前后端综合实训-Day07-PM【用户信息管理页面——功能展示(分页显示数据、添加用户、批量删除用户、编辑用户信息)、servlet项目代码整理汇总】
- [转]html中offsetTop、clientTop、scrollTop、offsetTop各属性介绍
- 机器学习(九)——EM算法
- 如何销毁一个实例化对象_基于脚本的游戏对象系统(1) 实例化、组件及生命周期...
- x86汇编语言(2) 认识8086处理器
- Java解析HTML之NekoHTML
- Xshell安装宝塔Linux面板教程
- InoReader——网页无法打开
- 推荐模型-序列推荐-2018:SHAN
- Gprs通信协议服务器,GPRS协议简介
- 哈尔滨工业大学 计算机系统大作业
- [论文阅读笔记12]An Effective Transition-based Model for Discontinuous NER
- 谷歌高效开发的秘密:来自谷歌前员工的软件开发工具指南
- CCD靶面尺寸对应的宽高和对角线长度
- 使用 OpenWhisk 自建 Serverless 服务
- 2018年蓝桥杯A组C/C++决赛题解
- 视频教程-深度学习与TensorFlow 2入门实战-深度学习
- excel表计算机实践操作,Excel电子表格计算机实践任务书.ppt