android – PopupWindow如何获得被触及的外部事件的通知?

前端之家收集整理的这篇文章主要介绍了android – PopupWindow如何获得被触及的外部事件的通知?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
该文档指出PopupWindow将在其窗口之外被告知触摸事件
setOutsideTouchable(boolean touchable)设置为true.
popupwindow如何通知?我没有看到任何像setOnOutsideTouchListener等的监听器来接收该信息.

PopupWindow popup = new PopupWindow();
popup.setOutsideTouchable(true);
//now what..how to receive those touch outside events?

谢谢.

解决方法

尝试使用setTouchInterceptor,如下面的代码片段
popup.setTouchInterceptor(new OnTouchListener() 
    {

        public boolean onTouch(View v,MotionEvent event) 
        {
            if (event.getAction() == MotionEvent.ACTION_OUTSIDE) 
            {
                popup.dismiss();
                return true;
            }

            return false;
        }
    });

也不要忘记设置以下标志:

popup.setOutsideTouchable(true);

猜你在找的Android相关文章