遇到一个需求,需要自己执行PopupWindow的显示和隐藏动画,但是PopupWindow点击外部区域时直接执行了dismiss事件,这样就没有我执行隐藏动画的机会,就想能不能阻断PopupWindow的dismiss事件,以下就是监听事件,判断不是PopupWindow内部区域的点击事件执行隐藏动画

popupWindow = new PopupWindow(popContentView, LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
popupWindow.setFocusable(true);
popupWindow.setTouchable(true);
ColorDrawable dw = new ColorDrawable(Color.TRANSPARENT);
popupWindow.setBackgroundDrawable(dw);
popupWindow.setOutsideTouchable(false);
popupWindow.setTouchInterceptor(new View.OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {if (event.getY()>=0){//PopupWindow内部的事件return false;}if (isPopShowing) {isPopShowing=false;backgroundAlpha(false);PopupAnimateUtils.hideDownPopWindow(popupWindow, 300, popupWindow.getContentView().getHeight(), new Animator.AnimatorListener() {@Overridepublic void onAnimationStart(Animator animation) {}@Overridepublic void onAnimationEnd(Animator animation) {popupWindow.dismiss();}@Overridepublic void onAnimationCancel(Animator animation) {}@Overridepublic void onAnimationRepeat(Animator animation) {}});}return true;}
});

Android PopupWindow监听点击外部事件相关推荐

  1. Android怎样监听蓝牙耳机的按键事件

    Android怎样监听蓝牙耳机的按键事件 写在前面: 直接想要代码非常easy,你直接把滚动栏拉到最底端就能够看到.假设想要十分地了解为什么,那就依照我规划的一步一步来理解.下面測试环境以手头上有的「 ...

  2. Android如何监听蓝牙耳机的按键事件(转)

    源: Android如何监听蓝牙耳机的按键事件 写在前面: 直接想要代码很简单,你直接把滚动条拉到最底端就可以看到.如果想要十分地了解为什么,那就按照我规划的一步一步来理解.以下测试环境以手头上有的「 ...

  3. jquery 监听td点击事件_安卓开发监听点击事件的一种方法

    本人是菜鸟一只,学习安卓纯属兴趣.没有真正上过编程课程,所有知识都是在网上获取的.今天分享的是监听点击事件的一个方法,这个方法的好处是代码较简洁. 如图,点击保存时,把上面的数据入库. 实现如下: 在 ...

  4. 微信浏览器返回刷新,监听微信浏览器返回事件,网页防复制,移动端禁止图片长按和vivo手机点击img标签放大图片

    以下代码都经过iphone7,华为MT7 ,谷歌浏览器,微信开发者工具,PC端微信验证.如有bug,还请在评论区留言. demo链接:https://pan.baidu.com/s/1c35mbjM ...

  5. android listview ontouchlistener,Android ListView监听滑动事件的方法(详解)

    ListView的主要有两种滑动事件监听方法,OnTouchListener和OnScrollListener 1.OnTouchListener OnTouchListener方法来自View中的监 ...

  6. angular4点击事件监听_JavaScript从零开始——DOM事件编程(1)

    事件的本质是程序各个组成部分之间的一种通信方式,也是异步编程的一种实现.DOM 支持大量的事件,本章开始,我们一起看看 DOM 的事件编程. 1 概念 DOM 的事件操作(监听和触发),都定义在Eve ...

  7. 蓝牙耳机按键事件linux,【记录】Android监听蓝牙耳机的按键事件

    Android监听蓝牙耳机的按键事件 一.本文测试环境: 1.使用Dacom M10蓝牙耳机 2.成功监测到"电话键"(音量键没有监测到) 3.参考资料 4.参考源码 二.一些说明 ...

  8. Android 监听Home键按键事件

    Android 监听Home键按键事件 标签(空格分隔):Android Home键 在Android开发中有很多按键事件需要在App中捕获从而做出一些针对性的操作,例如返回键,音量键等都可以直接在d ...

  9. android 剪切板监听_安卓监听剪切复制粘贴事件实例

    本文的剪切复制粘贴事件只针对文本,URI 和 intent 不在讨论范围内. 实例代码实现了2个功能: 监听剪切复制粘贴事件: 获取剪切复制或粘贴的文本: 剪切复制 有2个方法监听剪切复制事件:剪切板 ...

最新文章

  1. C# System.Guid.NewGuid() 格式化
  2. python 加速循环的执行_python循环怎么用多线程去运行
  3. linux文件操作命令--转
  4. c打开指定路径文件_C++ 读取指定路径下所有的文件 (C++ get the list of files in a directory)...
  5. 简单实例讲解linux的module模块编译步骤
  6. 定义一个数组返回最大子数组的值(2)
  7. 数据结构-链表3-循环链表
  8. 上达最高精度,下到最快速度,Scaled-YOLOv4:模型缩放显神威
  9. go json的key为数字怎么解析_golang向interface{}解析json时把所有的数字都当成float64...
  10. 桌面上计算机右键管理打不开,Windows7中无法打开右键计算机的“管理”选项
  11. or1200处理器的异常处理类指令介绍
  12. TypeScript:变量和数据类型
  13. hcia是什么等级的证书_华为hcia是什么等级的证书
  14. Android ViewGroup介绍+实例
  15. 电商网站后台九大功能模块详解
  16. 生成时间序列每月月初月末
  17. 《MLB棒球创造营》:走近棒球运动·圣路易斯红雀队
  18. 【西电—英美国家概况(英美概况/英美文化)2023第一学期】第六章参考课后答案
  19. Python字符串的转义字符
  20. 关于ScrollView嵌套RecyclerView时RecyclerView不显示的问题

热门文章

  1. 光伏产业硅片检测中机器视觉技术应用
  2. 数字孪生服务提供模式及典型案例
  3. 360个人图书馆文章复制方法
  4. 基于SSM的备忘录管理系统
  5. 用js实现点击链接跳转APP对应页面
  6. stm32(声音传感器控制LED)
  7. 免费刷会员和六钻工具?小心通过QQ传播的灰鸽子Backdoor.Win32.Gpigeon.gem
  8. [读书笔记]-博恩·崔西-吃掉那只青蛙
  9. ssc预测计划 php,千里马全天ssc计划
  10. 安装Fiddler证书到夜神模拟器系统证书中