今天,简单讲讲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外的区域不消失就讲完了。
就这么简单。