`

如何防止在误碰触到dialog之外的区域时dialog消失的问题

阅读更多
通常我们定义Dialog时是这么做的:
    AlertDialog dialog = new AlertDialog.Builder(MainActivity.this)
				.setTitle("退出系统")
				.setMessage("确定要退出系统吗?")
				.setView(textEntryView)
				.setPositiveButton("取消", new DialogInterface.OnClickListener() {
					public void onClick(DialogInterface dialog, int whichButton) {
						dialog.dismiss();
					}
				})
				.setNegativeButton("确定", new DialogInterface.OnClickListener() {
					public void onClick(DialogInterface dialog, int whichButton) {
						logout();
					}
				}).create();		
		dialog.show();


但是如果这个时候用户不小心点击了Dialog之外的区域,那么该Dialog就会消失。有什么办法可以防止这个问题呢?

通过查找api文档,我发现了一个方法,于是就尝试了一下,果然有效果。
就是在创建好dialog对象之后,调用一下它的方法:
dialog.setCanceledOnTouchOutside(false);

就可以了
分享到:
评论

相关推荐

    android中dialog点击按钮不消失详解

    在调用dialog的时候得到dialog对象,加入资料中代码,可以控制dialog的按钮在什么时候消失,而不是系统默认的点击消失

    dialog动画进入退出的动画

    在Android开发中,Dialog是一种常见的用户交互元素,用于在主界面之上显示临时信息或进行简单的操作选择。在本文中,我们将深入探讨如何实现Dialog的进入和退出动画,并讲解如何去除Dialog的标题,以提供更加定制化...

    (仿照系统音量dialog)在广播中弹出系统级别dialog,并且dialog后边背景不变暗,并且可以获取焦点

    标题和描述所提到的“仿照系统音量dialog”,就是指创建一个类似系统音量调节Dialog的效果,它可以在广播接收器中触发,并且在显示时不会使背景变暗,同时能够获取焦点。 要实现这样一个Dialog,我们需要关注以下几...

    各种自定义Dialog 以及Dialog加载动画

    在Android中,可以在`styles.xml`文件中定义一个自定义的Dialog主题,然后在创建Dialog时应用这个主题。 2. **布局定制**:通过编写XML布局文件,可以自定义Dialog显示的内容,包括按钮、文本、图片等。将这个布局...

    自定义圆角的dialog

    在Android应用开发中,Dialog是一种重要的用户交互组件,它用于显示临时信息或提示用户进行选择。系统提供的默认Dialog样式虽然实用,但往往无法满足开发者对于界面个性化和用户体验优化的需求。因此,自定义Dialog...

    dialogstyle 去掉背景白色框

    在Android开发中,Dialog是一种常见的用户交互元素,用于在主线程中显示临时信息或进行简单的操作选择。默认情况下,Dialog会带有白色的背景边框,这可能会与应用的UI设计风格不一致,因此开发者有时需要去除这个...

    dialog dismiss时键盘不消失的问题浅析及解决办法

    在Android开发中,有时会遇到一个特定的问题:当一个Dialog被dismiss时,其内的EditText控件所关联的软键盘并未自动隐藏,这给用户体验带来了不便。本文将深入分析这个问题,并提供两种解决方案。 首先,我们需要...

    Android 控制关闭Dialog

    然而,在某些特定场景下,我们可能希望在用户触发某个操作(如输入验证失败)时保持Dialog不关闭,以便用户可以修正错误。这就是描述中提到的问题——如何控制Dialog在点击按钮后不关闭。 要实现这一功能,我们可以...

    android 加载数据或者上传数据时的Dialog,加载或上传完成后消失

    这个Dialog可以告知用户系统正在进行后台处理,并防止用户在操作未完成时误触界面。本文将详细讲解如何在Android中创建并管理这种"加载数据或上传数据时的Dialog",以及如何在任务完成后自动关闭它。 首先,我们...

    Android代码-Dialog

    对于自定义Dialog,可能需要处理触摸事件,如点击Dialog之外的区域关闭Dialog。这可以通过重写`onTouchEvent()`方法并处理`MotionEvent.ACTION_DOWN`来实现。 10. **对话框的动画效果** 通过设置自定义动画,可以...

    安卓Dialog对话框相关-项目通用Dialog.rar

    - Dialog的生命周期与所属的Activity紧密相关,当Activity被销毁时,Dialog也会消失。 - 在异步操作中使用Dialog时,需要注意避免内存泄漏,确保在合适的时候调用`dismiss()`关闭Dialog。 - 对于Android版本兼容...

    Android中用Dialog来做使用引导/新手引导页面

    在Android应用开发中,为了帮助用户更好地理解和使用新功能,开发者常常会采用引导页或新手引导来引导用户。本文将详细介绍如何使用自定义Dialog来实现这样的功能,特别针对初次使用APP的用户,通过半透明蒙版高亮...

    Android Dialog设置透明背景以及位置

    - 在处理Dialog位置时,考虑到不同设备的屏幕尺寸差异,最好采用相对单位而非绝对像素值。 - 使用`TYPE_APPLICATION_OVERLAY`权限可能需要用户在设置中手动开启,因此需确保在合适的时候提示用户授权。 综上所述...

    Android Dialog与软键盘的正确打开方式

    在实际项目中,可能还需要考虑更多细节,例如处理Dialog的生命周期、防止Dialog在软键盘显示时被关闭等问题。对于这些复杂情况,开发者需要仔细处理各个回调,确保Dialog的逻辑正确无误。 最后,通过提供的`Dialog...

    jquery_dialog jquery_dialog jquery_dialog

    在Web开发领域,jQuery Dialog是一款非常流行的JavaScript库,用于创建可交互的对话框。它基于jQuery框架,提供了丰富的功能和灵活的定制选项,使得开发者能够轻松地在网页上实现弹出式窗口、警告提示、确认对话框等...

    Android自定义显示内容的Dialog

    例如,当Dialog或PopupWindow显示和消失时,可以添加平滑的过渡动画,使得交互更加自然。 总结来说,Android自定义显示内容的Dialog可以通过继承Dialog或PopupWindow实现。Dialog提供了基本的对话框功能,而...

    安卓Service中弹Dialog

    2. **Context问题**:通常,我们使用Activity的Context来创建Dialog,但在Service中,我们需要使用Service自身的Context。Service的Context并不直接关联到任何可视界面,所以需要确保使用正确的Context,以避免出现...

    自定义Dialog 显示正在加载动画效果 progressDialog

    本篇我们将深入探讨如何创建一个自定义的Dialog,使其在显示时不会使Activity背景变暗,并且展示正在加载的动画效果。 首先,我们从标题"自定义Dialog 显示正在加载动画效果 progressDialog"出发,了解我们要实现的...

    各种android弹出dialog效果以及各种dialog样式

    各种android弹出dialog效果以及各种dialog样式各种android弹出dialog效果以及各种dialog样式各种android弹出dialog效果以及各种dialog样式各种android弹出dialog效果以及各种dialog样式各种android弹出dialog效果...

    android 磨砂透明效果的dialog

    本文将详细讲解如何通过自定义Dialog来实现这种效果,并且确保当用户点击Dialog之外的区域时,Dialog能够自动退出。 首先,我们要理解磨砂透明效果(也称为毛玻璃效果)的基本原理。在Android中,这种效果通常是...

Global site tag (gtag.js) - Google Analytics