如何在对话框外触摸时捕捉事件
问题描述:
我的应用程序有dialog
。我想当用户clicks outside
dialog
。我必须为此做些什么?如何在对话框外触摸时捕捉事件
这是我的代码,但它没有运行。
@Override
public boolean onTouchEvent(MotionEvent event) {
float x = event.getX();
float y = event.getY();`enter code here`
int xmargin = (ViewUtils.getScreenWidth() - Constants.PRODUCT_DIALOG_WIDTH)/2;
int ymargin = (ViewUtils.getScreenHeight() - Constants.PRODUCT_DIALOG_HEIGHT)/2;
if (
x < xmargin||
x > ViewUtils.getScreenWidth() - xmargin ||
y < ymargin||
y > ViewUtils.getScreenHeight() - ymargin
) {
finish();
return true;
}
return super.onTouchEvent(event);
}
谢谢大家!
Window window = dialog.getWindow();
window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
dialog.show();
希望这有助于 -
答
,当你触摸一个对话外,您可以检查此代码,事件。