使用ProgressDialog创建进度对话框

ProgressDialog代表了进度对话框,程序只要创建ProgressDialog实例,并将它显示出来就是一个对话框。有两种方法实现。

如果只是创建简单的进度对话框,那么调用ProgressDialog提供的静态show()方法显示对话框即可.

创建ProgressDialog,然后调用方法对对话框的进度条进行设置,设置完成后将对话框显示出来即可.

ProgressDialog常用方法:

setIndeterminate(bool indetermimate):设置对话框的值是否明确,false为不明确

setMax(int max):设置对话框的进度条的最大值

setMessage(CharSequence message):设置对话框里显示的消息

setProgress(int value):设置对话框里进度条的进度值

setProgressStyle(int style):设置对话框里进度条的风格

 setTitle(CharSequence message):设置对话框的标题

下面以一个实例进行讲解,主界面只有三个简单的按钮,当用户点击不同的按钮时显示不同的对话框。其中

第三个按钮激发的进度框比较复杂,该对话框用填充数组来模拟耗时任务,随着任务不断更新进度对话框上进度的显示。

主界面:


点击第一个按钮:



主要代码:

 public void showSpinner(View source){
        //调用静态方法显示进度条
        ProgressDialog.show(this,"任务执行中","任务执行中,请等待",false,true);
    }

点击第二个按钮:


主要代码:

 public void showIndeterminate(){
        pd1=new ProgressDialog(MainActivity.this);
        //设置对话框的标题
        pd1.setTitle("任务正在执行中");
        //设置对话框的内容
        pd1.setMessage("任务正在执行中, 敬请等待...");
        //设置对话框能用"取消"按钮关闭
        pd1.setCancelable(true);
        //设置对话框的进度风格
        pd1.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
        //设置对话框的进度条能否显示进度
        pd1.setIndeterminate(true);
        pd1.show();
    }

点击第三个按钮:


主要代码:

public void showProgress(View source){
        //将进度条的方程进度重设为0
        progressStatus=0;
        //重设开始填充数组
        hasData=0;
        pd2=new ProgressDialog(MainActivity.this);
        pd2.setMax(MAX_PROGRESS);
        //设置对话框的标题
        pd2.setTitle("任务完成百分比");
        //设置对话框的内容
        pd2.setMessage("耗时任务完成的百分比");
        //设置对话框不能用取消按钮关闭
        pd2.setCancelable(false);
        //设置对话框进度条的风格
        pd2.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
        //设置对话框的进度条是否显示进度
        pd2.setIndeterminate(false);
        pd2.show();


        new Thread(){
            @Override
            public void run() {
                while (progressStatus<MAX_PROGRESS){
                    //获取耗时操作的完成百分比
                    progressStatus=MAX_PROGRESS*downWork()/data.length;
                    //发送空消息到Handler
                    handler.sendEmptyMessage(0x123);




                }
                //如果已经完成任务
                    if (progressStatus>=MAX_PROGRESS){
                        //关闭对话框
                        pd2.dismiss();
                    }
            }
        }.start();
    }

项目源码下载地址:点击打开链接






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值