猿问

如何通过单击对话框外部来关闭对话框?

如何通过单击对话框外部来关闭对话框?

我为我的应用程序实现了一个自定义对话框。我想实现当用户在对话框外单击时,对话框将被取消。我该怎么做?



皈依舞
浏览 502回答 3
3回答

牧羊人nacy

如果dialog.setCanceledOnTouchOutside(true);在对话框外触摸,可以使用哪个将关闭对话框。就像是,  Dialog dialog = new Dialog(context)   dialog.setCanceledOnTouchOutside(true);或者如果您的对话在非模型中,那么,1 - FLAG_NOT_TOUCH_MODAL为对话框的窗口属性设置标志Window window = this.getWindow();window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);2 - 向Windows属性添加另一个标志,FLAG_WATCH_OUTSIDE_TOUCH- 这个用于对话框以在其可见区域之外接收触摸事件。3 - 覆盖onTouchEvent()对话框并检查操作类型。如果动作类型是' MotionEvent.ACTION_OUTSIDE'表示,则用户正在对话区域外进行交互。因此,在这种情况下,您可以减少对话框或决定要执行的操作。查看plainprint?public boolean onTouchEvent(MotionEvent event)  {          if(event.getAction() == MotionEvent.ACTION_OUTSIDE){           System.out.println("TOuch outside the dialog ******************** ");                  this.dismiss();          }          return false;  }有关更多信息,请参阅如何根据触摸点关闭自定义对话框?当触摸外部对话区域时, 如何关闭非模态对话框

LEATH

dialog.setCancelable(false);从您的活动/片段中调用。
随时随地看视频慕课网APP

相关分类

Android
我要回答