Android开发之菜单(menu)用法实例分析
发布时间 - 2026-01-11 00:09:35 点击率:次本文实例讲述了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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
IOS倒计时设置UIButton标题title的抖动问题
Mybatis 中的insertOrUpdate操作
Python制作简易注册登录系统
如何在 Pandas 中基于一列条件计算另一列的分组均值
胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?
zabbix利用python脚本发送报警邮件的方法
香港服务器建站指南:免备案优势与SEO优化技巧全解析
如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】
php结合redis实现高并发下的抢购、秒杀功能的实例
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践
Laravel如何实现模型的全局作用域?(Global Scope示例)
Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】
C#如何调用原生C++ COM对象详解
Python并发异常传播_错误处理解析【教程】
Laravel模型事件有哪些_Laravel Model Event生命周期详解
Laravel怎么创建自己的包(Package)_Laravel扩展包开发入门到发布
实例解析Array和String方法
Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】
javascript中的数组方法有哪些_如何利用数组方法简化数据处理
Laravel如何处理文件下载请求?(Response示例)
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
使用C语言编写圣诞表白程序
Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
Gemini手机端怎么发图片_Gemini手机端发图方法【步骤】
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】
Laravel怎么解决跨域问题_Laravel配置CORS跨域访问
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
高端建站如何打造兼具美学与转化的品牌官网?
详解Android图表 MPAndroidChart折线图
html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】
网站制作企业,网站的banner和导航栏是指什么?
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
如何在腾讯云服务器上快速搭建个人网站?
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
简单实现Android验证码
免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?
Laravel如何生成API文档?(Swagger/OpenAPI教程)
Laravel如何使用Passport实现OAuth2?(完整配置步骤)
如何在阿里云ECS服务器部署织梦CMS网站?
大学网站设计制作软件有哪些,如何将网站制作成自己app?
如何撰写建站申请书?关键要点有哪些?
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
如何在云指建站中生成FTP站点?
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)

