ProgressDialog对话框形式显示下载进度

此文,仅做为个人学习Android,记录成长以及方便复习!

首先是设置UI界面,添加一个下载按钮

1.activity_main.xml




    

接下来就是Activity

MainAcitivity.xml

package com.rui.progressbardome;

import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {
    private Button down;//创建按钮
    private ProgressDialog progressDialog;//创建ProgressDialog
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //实例化按钮
        down = (Button) findViewById(R.id.down);

        //添加监听事件
        down.setOnClickListener(new View.OnClickListener() {
            //实现监听方法
            @Override
            public void onClick(View view) {
                   progressDialog =  new ProgressDialog(MainActivity.this);//实例化ProgressDialog
                   progressDialog.setMax(100);//设置最大值
                   progressDialog.setTitle("文件下载");//设置标题
                   progressDialog.setIcon(R.drawable.img1);//设置标题小图标
                   progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);//设置样式为横向显示进度的样式
                   progressDialog.setMessage("海贼王大结局正在下载,请稍后!");
                   progressDialog.incrementProgressBy(0);//设置初始值为0,其实可以不用设置,默认就是0
                   progressDialog.setIndeterminate(false);//是否精确显示对话框,flase为是,反之为否

                new download().start();//实例化下载类strat模拟下载线程

                //添加确定按钮
                //参数1 设置按钮样式
                //参数2,设置按钮文本
                //参数3,设置按钮监听事件
                progressDialog.setButton(DialogInterface.BUTTON_POSITIVE,"确定",new DialogInterface.OnClickListener(){

                       @Override
                       public void onClick(DialogInterface dialogInterface, int i) {
                           Toast.makeText(MainActivity.this,"确认下载完毕!",Toast.LENGTH_SHORT).show();
                       }
                   });


                   //是否可以通过返回按钮退出对话框
                   progressDialog.setCancelable(true);
                   progressDialog.show();//显示对话框
            }
        });
    }

    //创建线程,模拟下载
    class download extends Thread{
        @Override
        public void run() {
            //模拟下载进度
            for(int i=0;i
效果如图!

你可能感兴趣的:(ProgressDialog对话框形式显示下载进度)