本文使用xml来创建上下文菜单

<?xml version="1.0" encoding="utf-8"?><menu xmlns:android="http://schemas.android.com/apk/res/android"><itemandroid:id="@+id/add"android:title="添加"android:orderInCategory="4"/><itemandroid:id="@+id/delete"android:title="删除"android:orderInCategory="1"/><itemandroid:id="@+id/query"android:title="查询"android:orderInCategory="2"/><itemandroid:id="@+id/update"android:title="更新"android:orderInCategory="3"/>
</menu>

orderInCategory属性为排列顺序

MyActivity的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:orientation="vertical"android:layout_width="fill_parent"android:layout_height="fill_parent"><Buttonandroid:id="@+id/btn"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="弹出上下文菜单"/>
</LinearLayout>

MyActivity.java

package com.example.contextMenuTest;import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;public class MyActivity extends Activity {private Button button;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main);button = (Button) findViewById(R.id.btn);//为按钮注册contextMenu,当你长按按钮的时候就会调用onCreateContextMenu方法
        registerForContextMenu(button);}/*** 注意:每次长按注册了contextMenu的控件,都会重新调用该方法*/@Overridepublic void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {System.out.println("com.example.contextMenuTest.MyActivity.onCreateContextMenu");getMenuInflater().inflate(R.menu.basic_main, menu);//设置标题栏的图标
        menu.setHeaderIcon(R.drawable.ic_launcher);//设置标题栏的文字menu.setHeaderTitle("请选择操作");}@Overridepublic boolean onContextItemSelected(MenuItem item) {switch (item.getItemId()) {case R.id.add:Toast.makeText(this, "你点击了添加!", 1).show();break;case R.id.delete:Toast.makeText(this, "你点击了删除!", 1).show();break;case R.id.update:Toast.makeText(this, "你点击了修改!", 1).show();break;case R.id.query:Toast.makeText(this, "你点击了查询!", 1).show();break;}return true;}
}

转载于:https://www.cnblogs.com/wuyou/p/3704924.html

android 上下文菜单详解相关推荐

  1. 【转】Android菜单详解——理解android中的Menu--不错

    原文网址:http://www.cnblogs.com/qingblog/archive/2012/06/08/2541709.html 前言 今天看了pro android 3中menu这一章,对A ...

  2. Android菜单详解——理解android中的Menu

    前言 今天看了pro android 3中menu这一章,对Android的整个menu体系有了进一步的了解,故整理下笔记与大家分享. PS:强烈推荐<Pro Android 3>,是我至 ...

  3. Android菜单详解(三)——SubMenu和IconMenu

    我们在上一篇介绍了如何在Android中创建和响应选项菜单,今天我们将探索子菜单和图标菜单. 子菜单Sub Menu 子菜单提供了一种自然的组织菜单项的方式,它被大量地运用在windows和其他OS的 ...

  4. android开发菜单,Android学习指南之十六:Android菜单详解

    Android用户界面的组成除了View外,还包括菜单和对话框,本节我们先来学习一下菜单的使用方法. 菜单Menu是Android用户界面中最常见的元素之一,使用非常频繁.Android菜单主要分为三 ...

  5. Android Studio 插件开发详解三:翻译插件实战

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78113868 本文出自[赵彦军的博客] 系列目录 Android Gradle使用 ...

  6. Android Studio 插件开发详解一:入门练手

    转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/78112003 本文出自[赵彦军的博客] 系列目录 Android Gradle使用 ...

  7. Android Studio 安装详解及安装过程中出现的问题解决方案

    Android Studio 安装详解及安装过程中出现的问题解决方案 一,Android Studio安装包下载, 首先到官网下载,就是去Android Studio中文社区官网下载你的平台需要的安装 ...

  8. android组件模板,提高效率必备神器 ---- Android Studio模板详解

    原标题:提高效率必备神器 ---- Android Studio模板详解 Android Studio模板大家应该很熟悉,你新建一个project或者module的时候,AS会帮你提供几个选项供你选择 ...

  9. 【Android签名机制详解】二:Android V1、V2、V3、V4签名方案

    前言 书接上回[Android签名机制详解]一:密码学入门,在了解了消息摘要.非对称加密.数字签名.数字证书的基本概念后,我们趁热打铁.直奔主题,讲解签名在Android中的实际应用. 基础知识 An ...

  10. Android进阶——AIDL详解之使用远程服务AIDL实现进程间带远程回调接口和自定义Bean的较复杂通信小结(二)

    文章大纲 引言 一.远程回调AIDL接口的应用 1.封装基本的父类和一些工具类 2. 创建服务端的AIDL 2.1.定义回调AIDL接口 2.2.定义业务AIDL接口 3.实现服务端对应AIDL的带有 ...

最新文章

  1. Pytorch 多 GPU 并行处理机制
  2. 35+的大龄程序员都去哪里了?
  3. gdb 查看,执行汇编代码
  4. Java并发编程实践读书笔记(3)任务执行
  5. TensorFlow预训练模型在新图中权重部分加载
  6. python学习,day3:函数式编程,*arge,**kwargs
  7. [BZOJ4671]异或图
  8. php第一课,[php第一课]php简介
  9. [转载] python元组 tuple
  10. 【第九课】MriaDB密码重置和慢查询日志
  11. php-fpm的pool php-fpm慢执行日志 open_basedir php-fpm进程管理
  12. 2017.3.16 聪聪可可 思考记录(非常不容易)
  13. 《遗传算法原理及应用》笔记—并行遗传算法
  14. RS-485接口协议详解
  15. 使用matlab进行三角函数拟合
  16. html5扑克游戏源码,Html5德州扑克 - WEB源码|其它源码|源代码 - 源码中国
  17. 青花瓷 Charles 抓包工具下载安装破解 JDK环境下载安装
  18. 一篇文章带你了解系统流程图和业务流程图的区别
  19. python归一化nan加扰动_标准化和归一化对机器学习经典模型的影响
  20. F2FS源码分析-1.4 [F2FS 元数据布局部分] Segment Infomation Table-SIT结构

热门文章

  1. android选择选择图片封装库,Android_Album_android图片选择库
  2. 【PATL2-002】链表去重(链表模拟)---水题
  3. set_union()和set_intersection()用法:原来并集和交集这样求!
  4. 计算机安全模式启动时蓝屏,电脑如何进入安全模式修复蓝屏故障
  5. SLAM--各种开源项目
  6. 【概率密度函数估计】--- 最大似然估计与Parzen窗函数画法
  7. java 异常抛出_Java 如何抛出异常、自定义异常、手动或主动抛出异常
  8. 2021-09-07Hadoop运行模式:
  9. emplace_back() 和 push_back 的区别:emplace_back效率高,避免push_back使用时所需的额外副本或移动操作
  10. 局域网计算机无法配置网关,在内网中,为什么不设置“默认网关”计算机也能互相通讯?...