所谓上下文菜单就是当我们长按某一个文件时弹出的菜单

操作这个菜单我们要重写onCreateContextMenu()方法

如上一篇文章一样,对于这个菜单中选型的操作也有动态添加和xml文件添加两种方法

首先是动态添加

 @Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("文件操作"); //上下文菜单的标题
menu.setHeaderIcon(R.mipmap.ic_launcher);//图标
menu.add(1,1,1,"复制");
menu.add(1,2,1,"粘贴");
menu.add(1,3,1,"剪切");
menu.add(1,4,1,"重命名"); }

然后是xml文件添加

   @Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("文件操作"); //上下文菜单的标题
menu.setHeaderIcon(R.mipmap.ic_launcher);//图标
MenuInflater infalter = getMenuInflater(); //
infalter.inflate(R.menu.main,menu);//实例化main布局 }

xml文件的布局

<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_item1"
android:orderInCategory="100" <!-- 决定菜单中选项的排列顺序 数字越大优先级越低,排位越靠后-->
android:showAsAction="never" <!-- 表示是否默认显示出来-->
android:title="复制"></item>
<item
android:id="@+id/menu_item2"
android:orderInCategory="100"
android:showAsAction="never"
android:title="粘贴"></item>
<item
android:id="@+id/menu_item3"
android:orderInCategory="100"
android:showAsAction="never"
android:title="剪切"></item>
<item
android:id="@+id/menu_item4"
android:orderInCategory="100"
android:showAsAction="never"
android:title="重命名"></item>
</menu>

对ContextMenu的监听

  @Override
public boolean onContextItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.menu_item1:
Toast.makeText(MainActivity.this, "你选择了复制", Toast.LENGTH_SHORT).show();
break;
case R.id.menu_item2:
Toast.makeText(MainActivity.this, "你选择了粘贴", Toast.LENGTH_SHORT).show();
break;
case R.id.menu_item3:
Toast.makeText(MainActivity.this, "你选择了剪切", Toast.LENGTH_SHORT).show();
break;
case R.id.menu_item4:
Toast.makeText(MainActivity.this, "你选择了重命名", Toast.LENGTH_SHORT).show();
break;
}
return super.onContextItemSelected(item);
}

Android 菜单 之 上下文菜单ContextMenu的更多相关文章

  1. 安卓开发笔记——Menu菜单组件(选项菜单,上下文菜单,子菜单)

    菜单是用户界面中最常见的元素之一,使用非常频繁,在Android中,菜单被分为如下三种,选项菜单(OptionsMenu).上下文菜单(ContextMenu)和子菜单(SubMenu). 菜单的实现 ...

  2. Android开发 ---xml构建选项菜单、上下文菜单(长按显示菜单)、发通知、发送下载通知

    1.activity_main.xml 描述: 定义了一个TextView和三个按钮 <?xml version="1.0" encoding="utf-8&quo ...

  3. Android Dialog 创建上下文菜单

    Android Dialog中的listview创建上下文菜单 listView.setOnCreateContextMenuListener(new OnCreateContextMenuListe ...

  4. ContextMenu菜单创建 上下文菜单的基本认识q

    MainActivity.class public class MainActivity extends AppCompatActivity { @Override protected void on ...

  5. Android学习笔记上下文菜单

    布局文件main_activity.xml <?xml version="1.0" encoding="utf-8"?> <RelativeL ...

  6. Android菜单详解(四)——使用上下文菜单ContextMenu

    之前在<Android菜单详解(二)——创建并响应选项菜单>和<Android菜单详解(三)——SubMenu和IconMenu>中详细讲解了选项菜单,子菜单和图标菜单.今天接 ...

  7. Android开发之Menu:OptionMenu(选项菜单)、ContextMenu(上下文菜单)、SubMenu(子菜单)

    菜单的概念,现在已经很普及了.Windows系统.Mac.桌面版Linux.Java Swing等,都有可视化菜单.一.Android平台3种菜单  选项菜单(OptionMenu).上下文菜单(Co ...

  8. 安卓开发_浅谈ContextMenu(上下文菜单)

    长下文菜单,即长按view显示一个菜单栏 与OptionMenu的区别OptionMenu对应的是activity,一个activity只能拥有一个选项菜单ContextMenu对应的是View,每个 ...

  9. android开发之使用上下文菜单

    android中的上下文菜单类似于PC上的鼠标右键单击,不同的是android上没有鼠标这一概念,更谈不上右键单击,在android中,一般是长按某个View,调出上下文菜单.与OptionsMenu ...

随机推荐

  1. Java使用指南(1)—— Java下载和安装

    Java下载 1.在Oracle的官网中找到相应的

  2. len(),range()函数

    len()函数返回字符串.列表.字典.元组等长度 eg1:计算字符串的长度: >>>s='hello good boy doiido' >>>len(s) > ...

  3. Chrome MarkDown Preview Plus

    /************************************************************************** * Chrome MarkDown Previe ...

  4. Ubuntu 16.10 Apache PHP Server

    /******************************************************************************************* * Ubunt ...

  5. C# Message 消息处理

    一.消息概述 Windows下应用程序的执行是通过消息驱动的.消息是整个应用程序的工作引擎,我们需要理解掌握我们使用的编程语言是如何封装消息的原理.C#自定义消息通信往往采用事件驱动的方式实现,但有时 ...

  6. Vue forms

    Vue forms Vue 的表单. 表单中的数据和是双向绑定的. 你可以使用 v-model 对控件元素进行数据双向绑定. 比较有用的修饰符 .lazy .number .trim

  7. python if语句,while语句

    一,if语句: python中最常用的判断语句,基本格式: 1.if else格式 if  条件: 结果 else: 结果 """ if 条件: 满足条件执行代码 els ...

  8. xmind的使用及入门

    初识 xmind是什么 比较 入门 下载 基本操作 主界面 美化 工具 导出 初识 xmind是什么 说白了就是传说中的思维导图,用它我们可以画出下面这些图: 额,这张图好丑. 好吧,换一张: 他就是 ...

  9. bzoj 4503 两个串——FFT

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4503 翻转T,就变成卷积.要想想怎么判断. 因为卷积是乘积求和,又想到相等的话相减为0,所以 ...

  10. Python time和datatime模块

    time和datatime模块 时间相关的操作,时间有三种表示方式: 时间戳               1970年1月1日之后的秒,即:time.time() 格式化的字符串    2014-11- ...