Android开发入门组件(十三)——ProgressBar

今天来讲一下进度条(其实包含了刷新圈),主要讲基本常用的一些方法,先看一下图片就知道大概要讲的是什么了

Android开发入门组件(十三)——ProgressBar_第1张图片

1.基本的使用方法

默认的进度条是一个旋转的刷新圈,即没有参数的情况下

 

    

如上的代码写出来是两个转动的圆弧,效果如下:

Android开发入门组件(十三)——ProgressBar_第2张图片

 但是要写一个进度条要怎么写呢

//进行进度条的风格的设置

    

需要设置style来换成进度条的风格来进行操作。效果如下:

2.进度条的控制函数

举例设置一个button来操作进度条,来进行进度条的进度显示。

 pb3.setProgress(30);//设置进度条的进度

//设置按钮的点击事件,进行点击完成对相应进度条的进度设置
bt1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                handler.sendEmptyMessage(0);//设置操作处理
            }
        });

Handler handler=new Handler(){
        public void handleMessage(Message msg){
            super.handleMessage((msg));
            if (pb3.getProgress()<100){//判断是否小于最大值
               handler.postDelayed(runnable,500);//延迟500ms进行调用函数
            }else {
                ToastUtil.showMessage(ProgressActivity.this,"加载完成");
//进度条加载完成的函数
            }
        }
    };

    Runnable runnable=new Runnable() {
        @Override
        public void run() {
            pb3.setProgress(pb3.getProgress()+5);//每次设置进度条+5
            handler.sendEmptyMessage(0);
        }
    };

效果如下:当点击按钮的时候会进行进度条的补充,知道补充完整个进度条然后弹出一个提示“加载完成 ”

Android开发入门组件(十三)——ProgressBar_第3张图片

3.自定义进度条

自定义的布局文件bg_progress



对应的progress组件代码

使用的是自己一个自定义的图片来进行旋转,效果如下图:

Android开发入门组件(十三)——ProgressBar_第4张图片

4.进度条弹出框ProgressBar

在一般使用中还会用到弹出一个刷新圈的提示框,或者进度条来显示任务的完成情况。

用法类似于Dialog

主要定义在 activity文件中,代码如下,

(1)先做刷新圈的转动显示提示组件

bt2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                ProgressDialog progressDialog=new ProgressDialog(ProgressActivity.this);
                progressDialog.setTitle("提示:"); //提示框的标题
                progressDialog.setMessage("正在加载...");//提示框的内容信息
                progressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
                    @Override
                    public void onCancel(DialogInterface dialogInterface) {
                        ToastUtil.showMessage(ProgressActivity.this,"cancel...");
                    }
                });
                progressDialog.setCancelable(false);//是否可以点击取消
                progressDialog.show();
            }
        });

效果如下:

Android开发入门组件(十三)——ProgressBar_第5张图片

(2)进度条的弹出显示

bt3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                ProgressDialog progressDialog=new ProgressDialog(ProgressActivity.this);
                progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
                progressDialog.setTitle("提示:");
                progressDialog.setMessage("正在下载...");
                progressDialog.setProgress(50);
                progressDialog.setMax(100);
                progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, "下载完成", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        ToastUtil.showMessage(ProgressActivity.this,"下载完成了");
                    }
                });
                progressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
                    @Override
                    public void onCancel(DialogInterface dialogInterface) {
                        ToastUtil.showMessage(ProgressActivity.this,"cancel...");
                    }
                });
                progressDialog.setCancelable(false);
                progressDialog.show();
            }
        });

效果如下:

Android开发入门组件(十三)——ProgressBar_第6张图片

你可能感兴趣的:(安卓开发,Android,Android组件,ProgressBar)