核心代码:

// 对话框进度条控件

private ProgressDialog progressDialog;

/**

* 显示进度条对话框

* @param title

*            进度条对话框标题

* @param message

*            进度条对话框消息

* */

public void showProgressDialog(String title, String message) {

if (progressDialog == null) {

progressDialog = ProgressDialog.show(this, title, message);

} else {

progressDialog.setTitle(title);

progressDialog.setMessage(message);

}

}

/** 关闭进度条对话框 */

public void closedProgressDialog() {

if (progressDialog != null) {

progressDialog.dismiss();

progressDialog = null;

}

}


建立android工程等工作都略去,Google一下就可以了。

下面来介绍主要的Activity
ProgressBarDemo.java

Java代码

  1. package com.lveyo.android.demo.progressbar;  

  2. import android.app.Activity;  

  3. import android.app.ProgressDialog;  

  4. import android.os.Bundle;  

  5. import android.os.Handler;  

  6. import android.os.Message;  

  7. import android.view.View;  

  8. import android.widget.Button;  

  9. import android.widget.TextView;  

  10. publicclass ProgressBarDemo extends Activity {  

  11. private TextView statusTextView;  

  12. private Button beginBtn;  

  13. private ProgressDialog progressDialog;  

  14. @Override

  15. publicvoid onCreate(Bundle savedInstanceState) {  

  16. super.onCreate(savedInstanceState);  

  17.        setContentView(R.layout.main);  

  18.        statusTextView = (TextView)findViewById(R.id.status);  

  19.        beginBtn = (Button)findViewById(R.id.beginBtn);  

  20.        setListener();  

  21.    }  

  22. /**

  23.     * 用Handler来更新UI

  24.     */

  25. private Handler handler = new Handler(){  

  26. @Override

  27. publicvoid handleMessage(Message msg) {  

  28. //关闭ProgressDialog

  29.            progressDialog.dismiss();  

  30. //更新UI

  31.            statusTextView.setText("Completed!");  

  32.        }};  

  33. /**

  34.     * 点击按钮事件listener

  35.     */

  36. privatevoid setListener(){  

  37.        beginBtn.setOnClickListener(new View.OnClickListener() {  

  38. @Override

  39. publicvoid onClick(View v) {  

  40. //显示ProgressDialog

  41.                progressDialog = ProgressDialog.show(ProgressBarDemo.this, "Loading...", "Please wait...", true, false);  

  42. //新建线程

  43. new Thread(){  

  44. @Override

  45. publicvoid run() {  

  46. //需要花时间计算的方法

  47.                        Calculation.calculate(4);  

  48. //向handler发消息

  49.                        handler.sendEmptyMessage(0);  

  50.                    }}.start();  

  51.            }  

  52.        });  

  53.    }  

  54. }  



Calculation.java

Java代码

  1. package com.lveyo.android.demo.progressbar;  

  2. /**

  3. * 示意方法

  4. * @author lveyo

  5. *

  6. */

  7. publicclass Calculation {  

  8. publicstaticvoid calculate(int sleepSeconds){  

  9. try {  

  10.            Thread.sleep(sleepSeconds * 1000);  

  11.        } catch (Exception e) {  

  12. // TODO: handle exception

  13.        }  

  14.    }  

  15. }  




main.xml文件

Xml代码

  1. <?xmlversion="1.0"encoding="utf-8"?>

  2. <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

  3. android:orientation="vertical"

  4. android:layout_width="fill_parent"

  5. android:layout_height="fill_parent"

  6. >

  7. <TextViewandroid:id="@+id/status"

  8. android:layout_width="fill_parent"

  9. android:layout_height="wrap_content"

  10. android:text="@string/hello"

  11. />

  12. <Buttonandroid:id="@+id/beginBtn"

  13. android:layout_width="fill_parent"

  14. android:layout_height="wrap_content"

  15. android:text="begin"

  16. />

  17. </LinearLayout>