全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android开发之菜单(menu)用法实例分析

本文实例讲述了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小时内与您取得联系。