上下文菜单(ContextMenu)

长按某个view不放,就会在屏幕中间弹出ContextMenu。

一个Activity中间只可能有一个OptionMenu,但一个Activity中间有多个View,这些View都可以根据自己的需求设置自己的ContextMenu。

1.1 menu-->context.xml

1.2 为选中的view绑定ContextMenu

package com.example.menuactivity;import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.view.ContextMenu;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//context_btn:演示ContextMenu//1、注册//参数为传递一个viewregisterForContextMenu(findViewById(R.id.context_btn));//2、创建//3、菜单项的操作}//创建上下文菜单ContextMenu。@Overridepublic void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {getMenuInflater().inflate(R.menu.context,menu);super.onCreateContextMenu(menu, v, menuInfo);}//绑定按钮操作事件@Overridepublic boolean onContextItemSelected(@NonNull MenuItem item) {switch (item.getItemId()){case R.id.delete:Toast.makeText(this,"删除",Toast.LENGTH_SHORT).show();break;case R.id.rename:Toast.makeText(this,"重命名",Toast.LENGTH_SHORT).show();break;}return true;}

弹出菜单(PopupMenu)

一个模态形式展现出的弹出风格的菜单,绑定在某个View上,一般出现在被绑定的View下方

 //popup_btn:演示PopupMenuButton popup_btn=findViewById(R.id.popup_btn);popup_btn.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//1、实例化PopupMenu对象PopupMenu menu=new PopupMenu(MainActivity.this,popup_btn);//2、加载菜单资源:利用MenuInflatermenu.getMenuInflater().inflate(R.menu.popup,menu.getMenu());//3、为PopupMenu设置点击监听器menu.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {@Overridepublic boolean onMenuItemClick(MenuItem item) {switch (item.getItemId()){case R.id.copy:Toast.makeText(MainActivity.this,"复制",Toast.LENGTH_SHORT).show();break;case R.id.paste:Toast.makeText(MainActivity.this,"粘贴",Toast.LENGTH_SHORT).show();break;}return false;}});//4、显示popupmenu,不可以忘记menu.show();}});

Android开发——菜单(Menu)-——上下文菜单(ContextMenu)、 弹出菜单(PopupMenu)相关推荐

  1. Android仿Qzone底部导航栏加号弹出菜单

    最近看到QQ空间 新浪微博-.好多应用底部导航栏都有加号点击弹出菜单,于是就写了一个demo,来给没做过这个功能的小伙伴一个参考,希望对大家有所帮助,demo中的图片均来源于Qzone 仅作为学习交流 ...

  2. Android 仿微信右上角点击加号弹出菜单

    今天在做仿微信点击右上角加号弹出菜单出现了一点问题,故记录下来 需要也能对你有用 先来看效果图: 欧克,上面的实现效果主要时使用PopupWindow实现的,其中有趣的知识点是1.点击加号按钮弹出菜单 ...

  3. Android的Toolbar(含溢出菜单设置[弹出菜单的使用])的使用PopMenu的样式

    工作内容: Toolbar(含溢出菜单设置[弹出菜单的使用])的使用 学习分享: Toolbar的使用前提:设置主题 <style name="AppTheme" paren ...

  4. python tkinter 下拉框_python中tkinter入门之Menu创建顶级菜单、下拉菜单和弹出菜单。...

    创建顶级菜单 Menu 组件通常被用于实现应用程序上的各种菜单.使用add_command可以添加菜单内容.创建后通过root.config()添加到窗口上. from tkinter import ...

  5. vc+如何添加右键弹出菜单

    2019独角兽企业重金招聘Python工程师标准>>> 一.创建新工程 二.编辑菜单资源 1.添加菜单 按"Ctrl+R",双击"Menu"图 ...

  6. popupmenu java_Java基于JPopupMenu实现系统托盘的弹出菜单,解决PopupMenu弹出菜单中文乱码...

    本人萌新,利用业余时间学习Java.最近在写一个GUI程序的时候遇到一个问题,系统托盘创建弹出菜单中文乱码,网上搜索很多内容都没有找到解决方案,现将个人解决方案分享给大家,希望有所帮助 一.Popup ...

  7. 梦想CAD控件网页版右键弹出菜单

    用户需要右键弹出菜单,则需要响应鼠标事件,右键按下后,弹出菜单分为在命令下运行及在非命令下运行,具体介绍如下 : 一.新建菜单文件 1.新一个文本文件: mxpoptest.mnu,内容如下(此文件为 ...

  8. 梦想CAD控件com接口界面控制右键弹出菜单

    用户需要右键弹出菜单,则需要响应鼠标事件,右键按下后,弹出菜单分为在命令下运行及在非命令下运行,具体介绍如下(C#语言参考例子:"samples\CSharpRightKeyMenu\CSh ...

  9. android tv二级菜单,android TV开发:弹出菜单实现

    1.在有时候我们需要选择排序方式,在电视开发中往往使用一个弹出菜单实现,Demo效果: 2.核心代码: public class MainActivity extends Activity { pri ...

最新文章

  1. 外界对程序员的误解究竟有多深?
  2. 【原生js】js动态添加dom,如何绑定事件
  3. 减少运维工作量,如何通过 ROS 轻松实现资源编排新方式
  4. VTK:PolyData之GetPoint
  5. Win的phpstudy安装VC报错
  6. C语言学习之一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如,6的因子为1,2,3,而6=1+2+3,因此6是“完数”。编程序找出1000之内的所有完数。
  7. NVIDIA各个领域芯片现阶段的性能和适应范围
  8. 9个元素换6次达到排序序列_C语言必学的12个排序算法:希尔排序(第3篇)
  9. linux BufferedImage.createGraphics()卡住不动
  10. 代码重构的方法和经验_实战篇:一个核心系统 3 万行代码的重构之旅
  11. Xmind模板文档分享——知识结构(5)
  12. 谷歌地球 hosts文件_NO—谷歌地球===YESgt;gt;GoogleEarth
  13. mysql护眼参数,VS2013设置护眼背景颜色
  14. 下行法求最小割集案例_最小割集求法.docx
  15. 修改CodeRunner快捷键
  16. 校园网络远程登录虚拟机Linux问题解决
  17. c#web网页连接数据库产品出库入库数据更新
  18. 【Navicat】Navicat Premium12 下载、安装、激活、过期解决方法 —— 永久有效
  19. 作为一名平面设计师,你必须知道的一些素材网站
  20. emif接口速率问题_各种总线传输速率总结

热门文章

  1. 魅族手机sim卡无显示无服务器,设备管理器无显示内容怎么处理?
  2. 【软件测试】自动化测试战零基础教程——Python自动化从入门到实战(一)
  3. 热门Java开发工具IDEA入门指南——IntelliJ IDEA概述(下)
  4. [原创]如何获得SBO的数据表中文描述和数据表的中文字段
  5. Py西游攻关之IO model
  6. 安装版—安装MySQL
  7. jmeter入门——第一个jmeter脚本
  8. Video Harmonization一些周边代码
  9. display:weston:weston-simple-egl
  10. performance性能监控