猿问
如何通过单击对话框外部来关闭对话框?
如何通过单击对话框外部来关闭对话框?
我为我的应用程序实现了一个自定义对话框。我想实现当用户在对话框外单击时,对话框将被取消。我该怎么做?
皈依舞
浏览 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; }有关更多信息,请参阅如何根据触摸点关闭自定义对话框?当触摸外部对话区域时, 如何关闭非模态对话框
0
0
0
LEATH
dialog.setCancelable(false);从您的活动/片段中调用。
0
0
0
随时随地看视频
慕课网APP
相关分类
Android
我要回答