PopupWindow事件分发冲突解决

Posted newcaoguo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PopupWindow事件分发冲突解决相关的知识,希望对你有一定的参考价值。

这些为了点击非PopupWindow区域,PopupWindow会消失的,如果没有下面的
代码的话,你会发现,当你把PopupWindow显示出来了,无论你按多少次后退键
PopupWindow并不会关闭,而且退不出程序,加上下述代码可以解决这个问题
 popWindow.setTouchable(true);
        popWindow.setTouchInterceptor(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                return false;
                // 这里如果返回true的话,touch事件将被拦截
                // 拦截后 PopupWindow的onTouchEvent不被调用,这样点击外部区域无法dismiss
            }
        });

 

 

以上是关于PopupWindow事件分发冲突解决的主要内容,如果未能解决你的问题,请参考以下文章

从源码角度分析Android 事件分发机制以及常见滑动冲突解决方案

一文解决Android View滑动冲突

一文解决Android View滑动冲突

事件分发,事件消费,事件传递机制

Android面试之事件分发(机制冲突)

Android 滑动冲突以及如何解决