如何防止滚动事件被PopupWindow拦截

Pro*_*tle 1 android onclick android-popupwindow

当我单击 之外的空间时PopupWindow,窗口将关闭。但是,如果我想在ListView窗口外滚动,则滚动事件首先被识别为单击事件,并被窗口拦截,因此窗口被关闭,而滚动不被执行。

如何在ListView 窗口关闭的同时滚动,这样我就不需要再次滚动它。

Vas*_*dan 5

尝试这组属性:

    window.setTouchable(true);
    window.setOutsideTouchable(true);
    window.setFocusable(false);
Run Code Online (Sandbox Code Playgroud)

在这种情况下,当您在框架之外单击时,弹出窗口不会被关闭,但您可以添加一个侦听器来捕获外部触摸并关闭弹出窗口:

    window.setTouchInterceptor(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (event.getAction() == MotionEvent.ACTION_OUTSIDE) {
                window.dismiss();
                return true;
            }
            return false;
        }
    });
Run Code Online (Sandbox Code Playgroud)