Android 如何防止滚动事件被弹出窗口截获
当我单击Android 如何防止滚动事件被弹出窗口截获,android,onclick,android-popupwindow,Android,Onclick,Android Popupwindow,当我单击弹出窗口外的空间时,该窗口将被关闭。但是,如果我想在窗口外滚动列表视图,滚动事件首先会被识别为单击事件,并被窗口截获,因此在不执行滚动的情况下,窗口会被关闭 如何在关闭窗口的同时滚动列表视图,这样我就不需要再滚动它了。请尝试以下属性: window.setTouchable(true); window.setOutsideTouchable(true); window.setFocusable(false); 在这种情况下,当您在弹出窗口的框架外单击时,弹出窗口
弹出窗口
外的空间时,该窗口将被关闭。但是,如果我想在窗口外滚动列表视图
,滚动事件首先会被识别为单击事件,并被窗口截获,因此在不执行滚动的情况下,窗口会被关闭
如何在关闭窗口的同时滚动
列表视图
,这样我就不需要再滚动它了。请尝试以下属性:
window.setTouchable(true);
window.setOutsideTouchable(true);
window.setFocusable(false);
在这种情况下,当您在弹出窗口的框架外单击时,弹出窗口不会被关闭,但您可以添加一个侦听器来捕捉外部触摸并关闭弹出窗口:
window.setTouchInterceptor(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_OUTSIDE) {
window.dismiss();
return true;
}
return false;
}
});
请尝试以下属性集:
window.setTouchable(true);
window.setOutsideTouchable(true);
window.setFocusable(false);
在这种情况下,当您在弹出窗口的框架外单击时,弹出窗口不会被关闭,但您可以添加一个侦听器来捕捉外部触摸并关闭弹出窗口:
window.setTouchInterceptor(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_OUTSIDE) {
window.dismiss();
return true;
}
return false;
}
});