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(); }
}