android基础之ProgressDiaLog使用:进度条的创建



package com.example.administrator.myapplication;

import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.Message;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;
import android.view.View;
import android.widget.Toast;

import java.util.logging.Handler;
import java.util.logging.LogRecord;

public class DialogActivity extends ActionBarActivity
{

    ProgressDialog progress;
    protected android.os.Handler handler=new android.os.Handler()
    {
        final  int satrt =001;
        final  int end =002;
        @Override
        //处理子线程的消息
        public void handleMessage(Message msg) {
            switch (msg.what)
            //对消息标识符进行选择
            {
                case satrt:
                    progress.setProgress(msg.arg1);   //修改进度条
                    break;
                case end:
                    progress.dismiss();//进度条完成,关闭进度条
                    break;
            }
        }
    };
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_dialog);

    }


    //按钮控件绑定的方法
    public void displayProgress(View view)
    {
     progress= new ProgressDialog(this);//实例化我们的ProgressDialog对象
        progress.setTitle("这是一个进度条");//设置标题
        progress.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
        //设置进度框的风格
        progress.show();//最后显示进度条

        /*
        开启一个线程
         */
        new Thread(){
            public void run()
            {
                for(int i=0;i<100;i++)
                {
                    Message ma=new Message();//创建一个消息
                    ma.what=001;//设置消息的唯一标识
                    ma.arg1=i;//设置参数
                    handler.sendMessage(ma);//发送消息到主线程的队列中
                    try {
                        Thread.sleep(100);//设置休眠
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
                //创建关闭进度条的消息
                Message ma=new Message();
                ma.what=002;//关闭进度条的唯一标识
                handler.sendMessage(ma);//发送消息到主线程的队列中
            }

        }.start();
    }

}

android基础之ProgressDiaLog使用:进度条的创建