android 设置点击ProgressDialog外的区域不消失

作者: cnbzlj 发布时间: 2019-09-24 浏览: 287 次 编辑

今天,简单讲讲android如何设置点击ProgressDialog外的区域不消失。

昨天,自己做一个加载框ProgressDialog时,完成功能后,发现ProgressDialog点击区域外面就立即消失了,于是我想设置ProgressDialog点击区域外时不消失,点击手机返回键时才自动消失。可是发现自己居然不知道怎么做,于是在网上查找资料,最终解决了问题。这里记录一下。

安卓在4.0之前对话框都是模态的,之后就改成非模态了。

解决方法吗,使用progressdialog.setCancelable(false)也行,但是这样就不能响应返回键的事件了,最好的方法是调用progressdialog.setCanceledOnTouchOutside(false),这样一切都和4.0之前的一样

下面是个例子:

ProgressDialog mpDialog = new ProgressDialog(OrderTable.this);  
mpDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);//设置风格为圆形进度条   
mpDialog.setTitle("提示");//设置标题   
mpDialog.setIcon(R.drawable.icon);//设置图标   
mpDialog.setMessage("这是一个圆形进度条");   
mpDialog.setIndeterminate(false);//设置进度条是否为不明确   
mpDialog.setCancelable(true);//

设置点击进度对话框外的区域对话框不消失

mpDialog.setCanceledOnTouchOutside(false);

简单讲讲,其实就是设置dialog.setCanceledOnTouchOutside(false);使点击ProgressDialog外的区域不消失,通过mpDialog.setCancelable(true);设置进度条可以按退回键取消。

android 设置点击ProgressDialog外的区域不消失就讲完了。

就这么简单。