本文实例讲述了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中声明。
PS:关于AndroidManifest.xml文件相关属性功能可参考本站在线工具:
Android Manifest功能与权限描述大全:
http://tools./table/AndroidManifest
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
# Android
# 菜单
# menu
# 用法
# Android动态添加menu菜单的简单方法
# 用Android MenuInflater创建菜单项的方法步骤
# Android创建Menu菜单实例
# 详解Android中的Menu菜单键
# Android开源组件SlidingMenu侧滑菜单使用介绍
# Android仿微信菜单(Menu)(使用C#和Java分别实现)
# 在Android中创建菜单项Menu以及获取手机分辨率的解决方法
# Android开发之menu菜单
# 学习理解Android菜单Menu操作
# Android使用onCreateOptionsMenu()创建菜单Menu的方法详解
# Android UI实现SlidingMenu侧滑菜单效果
# Android动态修改ToolBar的Menu菜单示例
# Android学习教程之圆形Menu菜单制作方法(1)
# 新建一个
# 进阶
# 都有
# 相关内容
# 两种
# 感兴趣
# 给大家
# 跳转
# 有两种
# 更多关于
# 解决方法
# 别有
# 所述
# 程序设计
# 不要忘记
# 本例
# 有两个
# 讲述了
# title
# id
相关文章:
C#如何使用XPathNavigator高效查询XML
如何在宝塔面板中创建新站点?
如何用IIS7快速搭建并优化网站站点?
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
python的本地网站制作,如何创建本地站点?
如何在阿里云完成域名注册与建站?
建站之星如何实现PC+手机+微信网站五合一建站?
如何在Golang中指定模块版本_使用go.mod控制版本号
如何用y主机助手快速搭建网站?
如何选择服务器才能高效搭建专属网站?
网站制作软件有哪些,制图软件有哪些?
济南企业网站制作公司,济南社保单位网上缴费步骤?
宁波免费建站如何选择可靠模板与平台?
焦点电影公司作品,电影焦点结局是什么?
北京的网站制作公司有哪些,哪个视频网站最好?
如何通过虚拟主机快速搭建个人网站?
免费公司网站制作软件,如何申请免费主页空间做自己的网站?
如何在云主机快速搭建网站站点?
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?
Python lxml的etree和ElementTree有什么区别
javascript中的try catch异常捕获机制用法分析
如何高效搭建专业期货交易平台网站?
建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析
如何安全更换建站之星模板并保留数据?
建站VPS选购需注意哪些关键参数?
无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?
如何通过二级域名建站提升品牌影响力?
c# 在高并发下使用反射发射(Reflection.Emit)的性能
开心动漫网站制作软件下载,十分开心动画为何停播?
制作公司内部网站有哪些,内网如何建网站?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
微信小程序 input输入框控件详解及实例(多种示例)
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
如何选择高效便捷的WAP商城建站系统?
c# 服务器GC和工作站GC的区别和设置
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
建站之星24小时客服电话如何获取?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
小程序网站制作需要准备什么资料,如何制作小程序?
c# Task.ConfigureAwait(true) 在什么场景下是必须的
官网自助建站平台指南:在线制作、快速建站与模板选择全解析
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
建站之星后台管理系统如何操作?
c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】
网站制作培训多少钱一个月,网站优化seo培训课程有哪些?
网站设计制作公司地址,网站建设比较好的公司都有哪些?
如何通过多用户协作模板快速搭建高效企业网站?
Android滚轮选择时间控件使用详解
做企业网站制作流程,企业网站制作基本流程有哪些?
*请认真填写需求信息,我们会在24小时内与您取得联系。