package com.yanjun;

import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends Activity {
         /** Called when the activity is first created. */

TextView textView = null;
Button button ;
ProgressDialog progressDialog ;
        @Override
         public void onCreate(Bundle savedInstanceState) {
                 super.onCreate(savedInstanceState);
                setContentView(R.layout.main);
                textView = (TextView) findViewById(R.id.textView1);
                button = (Button) findViewById(R.id.button1);
                button.setOnClickListener( new OnClickListener() {
        
     public void onClick(View v) {
         // TODO Auto-generated method stub
        progress( "下载数据中", "请稍等......");
        
     }
    });
                
        }

private void progress(String title, String message) {
     // TODO Auto-generated method stub
    progressDialog = new ProgressDialog( this);
    updateThread thread = new updateThread();
     //条形进度条
    progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    
    progressDialog.setMessage(message);
    progressDialog.setTitle(title);
    progressDialog.setProgress(0);
    progressDialog.setMax(100);
    progressDialog.show();
    thread.start();
}                
Handler handler = new Handler(){    
    
     public void handleMessage(Message msg) {    
     // TODO Auto-generated method stub        
     if(msg.what>=100){        
     progressDialog.cancel();             }        
     progressDialog.setProgress(msg.what);        
        
}                
    };                
     class updateThread extends Thread{        
     public void run(){    
        handler.sendEmptyMessage(0);            
         try {        
        updateThread.sleep(1000);    
        handler.sendEmptyMessage(10);                
        updateThread.sleep(1000);                
        handler.sendEmptyMessage(20);                
        updateThread.sleep(1000);                
        handler.sendEmptyMessage(30);            
        updateThread.sleep(1000);                
        handler.sendEmptyMessage(40);            
        updateThread.sleep(1000);            
        handler.sendEmptyMessage(50);            
        updateThread.sleep(1000);                
        handler.sendEmptyMessage(60);            
        updateThread.sleep(1000);                
        handler.sendEmptyMessage(70);            
        updateThread.sleep(1000);            
        handler.sendEmptyMessage(80);            
        updateThread.sleep(1000);
        handler.sendEmptyMessage(90);            
        updateThread.sleep(1000);
        handler.sendEmptyMessage(100);            
        updateThread.sleep(1000);                    
        } catch (InterruptedException e) {    
         // TODO Auto-generated catch block        
         e.printStackTrace();        
         }                    
        }        
     };
}                    
    

package com.yanjun;

import android.R.style;
import android.app.Activity;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity {
   /** Called when the activity is first created. */

  ProgressDialog progressDialog = null;

  @Override
   public void onCreate(Bundle icicle) {
     //是按钮最为桌面布局
     super.onCreate(icicle);
    Button button = new Button( this);
    setContentView(button);
    
    button.setText(R.string.hello);
    button.setOnClickListener(myShowProgressDialog);
  }

  Button.OnClickListener myShowProgressDialog = new Button.OnClickListener() {

     public void onClick(View v) {
       // TODO Auto-generated method stub
      CharSequence charSequence = getString(R.string.dialog_title);
      CharSequence charSequence2 = getString(R.string.dialog_message);
      progressDialog = ProgressDialog.show(MainActivity. this,charSequence,charSequence2, true);
        
       new Thread(){

        @Override
         public void run() {
           try {
            sleep(3000);
          } catch (InterruptedException e) {
             // TODO Auto-generated catch block
            e.printStackTrace();
          } finally{
            progressDialog.cancel();
          }
        }
        
      }.start();
    }

  };

}