0
當我單擊PopupWindow
之外的空間時,該窗口將被解除。但是,如果我想在窗口外滾動ListView
,那麼滾動事件首先會被識別爲單擊事件,並被窗口攔截,因此在滾動未執行時該窗口會被取消。如何防止滾動事件被PopupWindow攔截
如何在滾動ListView
的同時窗口被解僱,以便我不需要再次滾動它。
當我單擊PopupWindow
之外的空間時,該窗口將被解除。但是,如果我想在窗口外滾動ListView
,那麼滾動事件首先會被識別爲單擊事件,並被窗口攔截,因此在滾動未執行時該窗口會被取消。如何防止滾動事件被PopupWindow攔截
如何在滾動ListView
的同時窗口被解僱,以便我不需要再次滾動它。
試試這組屬性:
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;
}
});
謝謝!有用。 – ProtossShuttle
很高興聽到:) –