文档章节

简单的谈谈安卓开发中的menu菜单

 余万宁
发布于 2016/03/01 14:44
字数 442
阅读 6
收藏 0
点赞 1
评论 0

安卓手机专门了menu这个来显示菜单,只要我们在程序中设置了菜单,就可以点击处理响应的事件!

想要实现菜单的功能就要在onOpreationsMenu方法里面创建,然后再onOptionsItemSelected监听不同的事件。创建而已是xml布局文件来实现,也可以使用menu.add方法来实现。

使用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 = "退出" >
         </ item >
     </ item >

</menu>

和普通的布局文件一样

然后在onCreateOptionsMenu方法中通过onCreateOptionsMenu方法来装载这个菜单布局文件。在onOptionsItemSelected监听方法中通过getItemId方法获得当前选中的菜单的“Id",代码如下所示:

这里我贴出了部分代码

/*创建menu*/

     public boolean onCreateOptionsMenu(Menu menu)
     {
         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 ;
     }
}

当然还是可以在方法里面直接创建  代码如下 

/*创建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;
     }

平常开发中用的很少,大家看看就可以了!

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 12
码字总数 6470
作品 0
武汉
程序员
android菜单详解一:概述

菜单是Activity的一个重要组成部分。它为用户操作提供了很爽的途径。Android提供了一个简单的框架来向程序中添加标准菜单 . 共有三种菜单: 选项菜单 一个activity的菜单项们的主要集合。当你...

晨曦之光
2012/03/12
0
0
android菜单详解二:选项菜单

创建一个选项菜单 选项菜单里应该包含基本的activity动作和必须的导航条目 (例如,一个打开程序设置的菜单项). 选项菜单的菜单项有两种不同的选择方法,一是菜单项按钮,二是通过 Action Bar...

晨曦之光
2012/03/12
0
0
Android的onCreateOptionsMenu()创建菜单Menu详解

Android一共有三种形式的菜单: 1.选项菜单(optinosMenu) 2.上下文菜单(ContextMenu) 3.子菜单(subMenu) 其中最常用的就是选项菜单(optionsMenu), 该菜单在点击 menu 按键 后会在对应的A...

娶到笨笨
2014/03/12
0
0
Android中 Menu的使用

1。普通的Menu   先来看看最简单的Menu怎样实现。   在主Activity中覆盖onCreateOptionsMenu(Menu menu)方法。 代码 这样就有了两个菜单选项。如果要添加点击事件,则要覆盖onOptionsIt...

Eric
2012/07/24
0
2
学习Android闹钟源代码(三)-AlarmClock类分析(part1)

android的时钟,也就是闹钟应用,从桌面的widget直接点进去的会打开AlarmClock这个Activity. 好像我平常都不上图的,今天就上两张图先。 一张是应用界面图如下:(改天再上传了,好像今天osc...

李海珍
2012/09/16
0
8
android 探索首选项框架 ListPreference

探索首选项框架 在深入探讨Android的首选项框架之前,首先构想一个需要使用首选项的场景,然后分析如何实现这一场景。假设你正在编写一个应用程序,它提供了一个搜索飞机航班的工具。而且,假...

sflfqx
2015/01/21
0
0
Android UI(三)SlidingMenu实现滑动菜单(详细 官方)

Jeff Lee blog: http://www.cnblogs.com/Alandre/ (泥沙砖瓦浆木匠),retain the url when reproduced ! Thanks 效果图: 求资源到首页上部加群即可。 一. SlidingMenu简介 github:https://g......

泥沙砖瓦浆木匠
2014/11/23
0
0
GitHub上最火的74个Android开源项目(三)

GitHub上最火的40个Android开源项目(一) GitHub上最火的40个Android开源项目(二) GitHub上最火的74个Android开源项目(三) GitHub上最火的40个iOS开源项目(一) GitHub上最火的40个iOS...

LiSteven
2014/05/11
0
1
抛弃Eclipse和Java,使用Dreamweaver+Jquery mobile+Phon...

本人是学C++出身,对于Java几乎不了解。一时心血来潮想学学android开发,于是下载了Eclipse,安装了SDK,有模有样的学习起来。也许是懒惰了,对于java一直提不起精神。国庆前夕,在网上闲逛,...

弓影
2011/11/14
0
1
Android ActionBar总结

1、设置显示/隐藏ActionBar 菜单xml文件 <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/menu1" android:orderInCategory="1" android:showA......

亓斌哥哥
2014/04/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java8新特性之接口

在JDK8以前,我们定义接口类中,方法都是抽象的,并且不能存在静态方法。所有的方法命名规则基本上都是 public [返回类型] [方法名](参数params) throws [异常类型] {}。 JDK8为接口的定义带...

developlee的潇洒人生
32分钟前
0
0
aop + annotation 实现统一日志记录

aop + annotation 实现统一日志记录 在开发中,我们可能需要记录异常日志。由于异常比较分散,每个 service 方法都可能发生异常,如果我们都去做处理,会出现很多重复编码,也不好维护。这种...

长安一梦
43分钟前
1
0
将博客搬至CSDN

AHUSKY
54分钟前
1
0
Python web框架Django学习(1)

1.Django简介 (1)Python下有许多款不同的 Web 框架。Django是重量级选手中最有代表性的一位。许多成功的网站和APP都基于Django。Django是一个开放源代码的Web应用框架,由Python写成。 (2...

十年磨一剑3344
今天
0
0
Databook-数据之书

Databook-数据之书 用于数据分析的Jupyter Notebooks。 不需购买服务器,快速开始自己的数据分析过程。 源码:https://github.com/openthings/databook 作者:openthings,https://github.co...

openthings
今天
5
0
Python PIPEs

https://www.python-course.eu/pipes.php https://www.tutorialspoint.com/python/os_pipe.htm

zungyiu
今天
1
0
gRPC学习笔记

gRPC编程流程 1. proto文件定义 proto文件用于定义需要通过gRPC生成的接口,可以理解为接口定义文档 2. 通过构建工具生成服务基类代码-Maven或Gradle 3. 服务端开发 服务端实现类须实现通过构...

OSC_fly
今天
0
0
Docker Mac (三) Dockerfile 及命令

Dockerfile 最近学习docker的时候,遇到一件怪事,关于docker镜像可能会被破坏,还不知道它会有此措施 所以需要了解构建Dockerfile的正确方法 Dockerfile是由一系列命令和参数构成的脚本,这些命...

___大侠
今天
0
0
Android Studio+NDK+Cmake 移植FFmpeg-4.0.2命令行工具

一、编译 参考大神的帖子,亲测一次编译成功:https://blog.csdn.net/bobcat_kay/article/details/80889398 鉴于以前查文档的经验,这里附上编写例子的时间:2018年7月22日 我用的是ubantu,...

她叫我小渝
今天
0
0
mysql创建数据库

登录MYSQL mysql -u root -p 脚本创建数据库WeChat,并制定默认的字符集是utf8mb4。 CREATE DATABASE Wechat DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci; 授权 grant all......

niithub
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部