您的位置:首页 > 移动开发 > Android开发

Android进度条ProgressDialog

2015-06-24 18:34 501 查看
我们都知道android 的进度条可以用Progressbar显示,但是有时候我们只是想在某个地方弹出个进度条让用户耐心等待一下~~标示这个程序还是有反应的。只是在读取数据而已。比如在登录的时候我们点击了登录按钮,如果没有登录提示框用户以为你这个程序没反应就去多点几下,如果此时网络慢点还是没能登录成功,那么用户就会误会这个程序没反应啦。这个时候我们应该加入个进度条窗口上去。

那么接下来稍微说说进度条窗口~~ProgressDialog怎么使用:

ProgressDialog继承自AlertDialog,AlertDialog继承自Dialog,实现DialogInterface接口。ProgressDialog的创建可以分为两种:一种是直接创建也就是静态创建。一种是new。

第一种:

ProgressDialog dialog=new ProgressDialog(Context context);
这种方法直接new一个ProgressDialog对象出来,并传入Context对象。取得ProgressDialog对象之后可以使用该对象进行相关设置:
dialog.setMessage("");//设置显示对话框的时候所需显示的信息
dialog.setCancelable(false);//设置该对话框能否取消
dialog.setTitle("");//设置该对话框的标题
dialog.show();//调用此方法可以显示Dialog
dialog.dismiss();//调用此方法可以取消对话框


我们来看看ProgressDialog长什么样子的:



姑且先看着这图吧~~懒得写代码~~总之效果跟这图差不多。

第二种:

ProgressDialog dialog2 = ProgressDialog.show(this, "提示", "正在登陆中");//调用ProgressDialog。show就可以显示对话框啦。然后取得对象dialog2
dialog2.dismiss();//跟上面一样调用这个方法可以取消对话框的显示  用法大同小异自己可以尝试一下


还有其它类似的方法:
ProgressDialog dialog2 = ProgressDialog.show(this, "提示", "正在登陆中",true,true);

ProgressDialog dialog3 = ProgressDialog.show(this, "提示", "正在登陆中",true,true,listener)
<span style="font-family: Arial, Helvetica, sans-serif; font-weight: bold; background-color: rgb(255, 255, 255);">ProgressDialog.show();重载了很多个方法,感兴趣的可以自己去尝试.其中要说明的是:ProgressDialog dialog3 = ProgressDialog.show(this, "提示", "正在登陆中",true,true,listener)</span>


这个重载后面有个回调,一看名字就大概知道是在进度条窗口取消的时候调用的看下面的示例:
DialogInterface.OnCancelListener lister=new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
Toast.makeText(context,"ProgressDialog被取消",Toast.LENGTH_LONG).show();
}
};


最后提一下ProgressDialog有两种形态一种是圆形转圈的不明确形态,一种是长形进度条形态.
可以通过方法设置使用哪一种形态:
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);//设置为圆形形态
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);// 设置长形进度条
其中如果使用了长形进度条的话自然是要不断更新进度条啦:
dialog.incrementProgressBy(1);  //调用此方法更新进度条
// dialog.incrementSecondaryProgressBy(10)//二级进度条更新方式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: