首页 > 代码库 > PopupWindow事件分发冲突解决

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事件分发冲突解决