我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android编程之菜单的实现方法实例详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android编程之菜单的实现方法实例详解

本文实例讲述了Android编程之菜单的实现方法。分享给大家供大家参考,具体如下:

Options Menu 当用户按下menu button按钮时显示的菜单
Context Menu 当用户长久按住屏幕,被注册显示上下文菜单的视图时显示的菜单
Submenu    当用户按下一个菜单的某个选项时弹出的子菜单

以上三种菜单也就是我们经常所说的:选项菜单,上下文菜单和子菜单。

一.上下文菜单

1. 实现onCreateContextMenu即可创建该菜单


@Override 
 public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { 
  // TODO Auto-generated method stub 
  super.onCreateContextMenu(menu, v, menuInfo);
  // 加载已定义好的布局menu.xml
  MenuInflater inflater = getMenuInflater();
  inflater.inflate(R.layout.menu, menu);
  // 或者用代码来实现菜单添加
  menu.setHeaderTitle("长按菜单-ContextMenu");
  menu.add(0, 0, 0, "弹出长按菜单0");
  menu.add(0, 1, 0, "弹出长按菜单1");
}

2. 当菜单某个选项被点击时调用该方法


@Override
 public boolean onContextItemSelected(MenuItem item) {
  // TODO Auto-generated method stub
  AdapterContextMenuInfo infor = (AdapterContextMenuInfo)item.getMenuInfo();
  switch (item.getItemId()) {
  case R.id.help:
    return true;
  case R.id.addnew:
  }
}

3. 当上下文菜单关闭时调用的方法


@Override
  public void onContextMenuClosed(Menu menu) {
  // TODO Auto-generated method stub
  super.onContextMenuClosed(menu);
}

对于这样已经定义好的上下文菜单,总得注册到一些控件上,这样等我们长按住这个控件时,才能跳出上下文菜单。那该怎么把上下文菜单注册到某些控件上呢,第一种是实现ListView的一个监听器
listview.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {  
但是上下文菜单也要在该方法里创建.


public void onCreateContextMenu(ContextMenu conMenu, View view , ContextMenuInfo info) {
  conMenu.setHeaderTitle("ContextMenu");
  conMenu.add(0, 0, 0, "Delete this favorite!");
  
 }
});

或者是直接在本活动调用registerForContextMenu(this.listView1);这里是注册到一个ListView上了,这样长按ListView就能跳出上下文菜单了。

二. 选项菜单

相比而言就简单了

一样道理只需实现onCreateoptionsMenu,onOptionsItemSelected和onOptionsMenuClosed就ok了

三. 子菜单

按理说子菜单也不难,确实如此,当实现了选项菜单,或上下文菜单(在上下文菜单里也可以实现子菜单,这里我们就举这样的例子),则子菜单的实现便是水到渠成。如上面的代
码:


@Override
 public void onCreateContextMenu(ContextMenu menu, View v,
  ContextMenuInfo menuInfo) {
  // TODO Auto-generated method stub
  super.onCreateContextMenu(menu, v, menuInfo);
  //加载已定义好的布局menu.xml
  MenuInflater inflater = getMenuInflater();
  inflater.inflate(R.layout.menu, menu);
  //或者用代码来实现菜单添加
  menu.setHeaderTitle("长按菜单-ContextMenu");
  menu.add(0, 0, 0, "弹出长按菜单0");
  menu.add(0, 1, 0, "弹出长按菜单1");
  //在这里就可以添加实现子菜单的代码
  int base = menu.FIRST + 100;
  SubMenu sm = menu.addSubMenu(base, base + 1, Menu.NONE, "submenu");
  sm.add(base, base + 2, base + 2, "sub item1");
  sm.add(base, base + 3, base + 3, "sub item2");
}

这样子菜单便也实现了,对于它的单击事件,只要在相应的选项菜单或者上下文菜单的侦听器里照样判断执行就OK了。

希望本文所述对大家Android程序设计有所帮助。

您可能感兴趣的文章:Android动态添加menu菜单的简单方法Android编程实现自定义系统菜单背景的方法Android仿微信顶/底部菜单栏效果Android实现类似于PC中的右键弹出菜单效果Android编程之菜单实现方法Android编程实现二级下拉菜单及快速搜索的方法Android开发之menu菜单Android实现模仿UCweb菜单效果的方法Android上下文菜单用法实例分析Android选项菜单用法实例分析Android仿微信菜单(Menu)(使用C#和Java分别实现)Android编程实现为应用添加菜单的方法


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android编程之菜单的实现方法实例详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android编程之菜单的实现方法实例详解

本文实例讲述了Android编程之菜单的实现方法。分享给大家供大家参考,具体如下: Options Menu 当用户按下menu button按钮时显示的菜单 Context Menu 当用户长久按住屏幕,被注册显示上下文菜单的视图时显示的
2022-06-06

Android编程之菜单实现方法

本文实例讲述了Android编程之菜单实现方法。分享给大家供大家参考,具体如下: 菜单是许多应用程序不可或缺的一部分,Android中更是如此,所有搭载Android系统的手机都要有一个“menu”键,即菜单键,由此可见菜单在Android
2022-06-06

Android编程自定义菜单实现方法详解

本文实例讲述了Android编程自定义菜单实现方法。分享给大家供大家参考,具体如下: 在android开发的过程中系统自带的菜单往往满足不了开发中的一些需求,比如说一排最多只能放置三个菜单,坐多只能放置6个,再多的话就会折叠起来,如果我们想
2022-06-06

Android之用PopupWindow实现弹出菜单的方法详解

在使用UC-WebBrowser时,你会发现它的弹出菜单跟系统自带的菜单不一样。它实现更多菜单选项的显示和分栏。其实,它的本身是PopupWindow或者是AlertDialog对话框,在里面添加两个GridView控件,一个是菜单标题栏,
2022-06-06

Android编程之菜单Menu的创建方法示例

本文实例讲述了Android编程之菜单Menu的创建方法。分享给大家供大家参考,具体如下:在res目录下的menu文件夹下创建一个main.xml文件,内容如下:
2023-05-30

Android编程之ICS式下拉菜单PopupWindow实现方法详解(附源码下载)

本文实例讲述了Android编程之ICS式下拉菜单PopupWindow实现方法。分享给大家供大家参考,具体如下: 运行效果截图如下:右边这个就是下拉菜单啦,看见有的地方叫他 ICS式下拉菜单,哎哟,不错哦! 下面先讲一下实现原理: 这种菜
2022-06-06

Android编程实现为应用添加菜单的方法

本文实例讲述了Android编程实现为应用添加菜单的方法。分享给大家供大家参考,具体如下: 添加菜单的方法有很多,一般推荐用xml创建菜单。 建立menu步骤: 在res下建立一个menu文件夹,在menu文件里面添加一个xml文件:
2022-06-06

Android编程之SurfaceView实例详解

本文实例讲述了Android编程之SurfaceView用法。分享给大家供大家参考,具体如下: 关于surfaceView相关知识: View和SurfaceView主要区别: 1. View只能在UI线程中刷新,而SurfaceView可
2022-06-06

Android spinner下垃菜单用法实例详解

本文实例讲述了Android spinner下垃菜单用法。分享给大家供大家参考,具体如下: 一、使用数组作为数据源 1. 在layout布局文件:声明一个TextView控件和一个Spinner控件,代码如下
2022-06-06

Android编程基础之Menu功能菜单设计实例

本文实例讲述了Android编程中的Menu功能菜单。分享给大家供大家参考,具体如下: Android功能菜单的设计,程序里定义了两个菜单子项,一个是"关于",一个是"退出",当点击"关于"时候,新建一个Toast 提示,当点击"退出"时,
2022-06-06

Android编程之简单计时器实现方法

本文实例讲述了Android编程之简单计时器实现方法。分享给大家供大家参考,具体如下: 这里利用ContextMenu(上下文菜单),Chronometer实现简单计数器。 Main.xml:
2022-06-06

Android编程之json解析实例详解

本文实例分析了Android编程之json解析的方法。分享给大家供大家参考,具体如下: JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今
2022-06-06

Android编程实现自定义系统菜单背景的方法

本文实例讲述了Android编程实现自定义系统菜单背景的方法。分享给大家供大家参考,具体如下: 不多说,上图,见代码。package lab.sodino.menutest; import android.content.Context;
2022-06-06

Android编程实现闹钟的方法详解

本文实例讲述了Android编程实现闹钟的方法。分享给大家供大家参考,具体如下: 在Android中,有一个闹钟的类,AlarmManager类,我们可以通过其来对系统内的通知进行操作! 本文用到了Service和Broadcast两个后台
2022-06-06

Android 使用PopupWindow实现弹出更多的菜单实例详解

最近想要做一个弹出更多的菜单,而原生的弹出菜单却不是我们想要的效果,所以必然要自定义菜单咯。本人也是借鉴网上的资料进行封装的,感觉还蛮不错的。 原生的菜单如下图:自定义之后的效果图:是不是看到这里之后,对比可知,原生的效果不太理想,所以还是
2022-06-06

Android编程之九宫格实现方法实例分析

本文实例讲述了Android编程之九宫格实现方法。分享给大家供大家参考,具体如下: 显示九宫格需要用GridView , 要显示每个格子中的视图有两种方式,第一种方式是做成xml文件,再将xml文件做成视图。第二种方式就是在代码中构建出这样
2022-06-06

Android提高之多级树形菜单的实现方法

一般来说在Android里要实现树形菜单,都是用ExpandableList(也有高手自己继承ListView或者LinearLayout来做),但是ExpandableList一般只能实现2级树形菜单。本文所述实例也依然使用Expanda
2022-06-06

Android编程之简单启动画面实现方法

本文实例讲述了Android简单启动画面实现方法。分享给大家供大家参考,具体如下: 每个Android应用程序启动之后都会出现一个Splash启动界面,显示产品LOGO、公司LOGO或者开发者信息。如果应用程序启动时间比较长,那么启动界面就
2022-06-06

Android编程实现为ListView创建上下文菜单(ContextMenu)的方法

本文实例讲述了Android编程实现为ListView创建上下文菜单(ContextMenu)的方法。分享给大家供大家参考,具体如下: ContextMenu称为上下文菜单,一般在控件上长按时弹出。今天我们学习ContextMenu的用法,
2022-06-06

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录