【转】【Android】ProgressDialog进度条对话框的使用

时间:2023-03-10 05:23:48
【转】【Android】ProgressDialog进度条对话框的使用

Android ProgressDialog进度条对话框的使用: 
转自:http://aina-hk55hk.iteye.com/blog/679134/

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:orientation="vertical" android:layout_width="fill_parent"
  4. android:layout_height="fill_parent">
  5. <TextView android:layout_width="fill_parent"
  6. android:layout_height="wrap_content" android:text="@string/hello" />
  7. <Button android:text="圆形进度条" android:id="@+id/Button01"
  8. android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
  9. <Button android:text="长型进度条" android:id="@+id/Button02"
  10. android:layout_width="wrap_content" android:layout_height="wrap_content"></Button>
  11. </LinearLayout>
    1. package com.Aina.Android;
    2. import android.app.Activity;
    3. import android.app.ProgressDialog;
    4. import android.content.DialogInterface;
    5. import android.os.Bundle;
    6. import android.view.View;
    7. import android.view.View.OnClickListener;
    8. import android.widget.Button;
    9. public class Test_ProgressDialog extends Activity {
    10. /** Called when the activity is first created. */
    11. private ProgressDialog mpDialog;
    12. private Button btn1,btn2;
    13. private int mCount = 0;
    14. @Override
    15. public void onCreate(Bundle savedInstanceState) {
    16. super.onCreate(savedInstanceState);
    17. setContentView(R.layout.main);
    18. btn1 = (Button) this.findViewById(R.id.Button01);
    19. btn2 = (Button) this.findViewById(R.id.Button02);
    20. btn1.setOnClickListener(new OnClickListener(){
    21. @Override
    22. public void onClick(View v) {
    23. mpDialog = new ProgressDialog(Test_ProgressDialog.this);
    24. mpDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);//设置风格为圆形进度条
    25. mpDialog.setTitle("提示");//设置标题
    26. mpDialog.setIcon(R.drawable.icon);//设置图标
    27. mpDialog.setMessage("这是一个圆形进度条");
    28. mpDialog.setIndeterminate(false);//设置进度条是否为不明确
    29. mpDialog.setCancelable(true);//设置进度条是否可以按退回键取消
    30. mpDialog.setButton("确定", new DialogInterface.OnClickListener(){
    31. @Override
    32. public void onClick(DialogInterface dialog, int which) {
    33. dialog.cancel();
    34. }
    35. });
    36. mpDialog.show();
    37. }
    38. });
    39. btn2.setOnClickListener(new OnClickListener(){
    40. @Override
    41. public void onClick(View v) {
    42. mCount = 0;
    43. mpDialog = new ProgressDialog(Test_ProgressDialog.this);
    44. mpDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    45. mpDialog.setTitle("提示");
    46. mpDialog.setIcon(R.drawable.icon);
    47. mpDialog.setMessage("这是一个长型进度条");
    48. mpDialog.setMax(100);
    49. mpDialog.setProgress(0);
    50. mpDialog.setSecondaryProgress(50);
    51. mpDialog.setIndeterminate(false);
    52. mpDialog.setCancelable(true);
    53. mpDialog.setButton("取消", new DialogInterface.OnClickListener(){
    54. @Override
    55. public void onClick(DialogInterface dialog, int which) {
    56. dialog.cancel();
    57. }
    58. });
    59. new Thread(){
    60. public void run(){
    61. try{
    62. while(mCount<=100){
    63. mpDialog.setProgress(mCount++);
    64. Thread.sleep(100);
    65. }
    66. mpDialog.cancel();
    67. }catch(Exception ex){
    68. mpDialog.cancel();
    69. }
    70. }
    71. }.start();
    72. mpDialog.show();
    73. }
    74. });
    75. }
    76. }