Android学习笔记之ProgressDialog

openkk 12年前

<1>简介

ProgressDialogAlertDialog类的一个扩展,可以为一个未定义进度的任务显示一个旋转轮形状的进度动画,或者为一个指定进度的任务显示一个进度条。

一个对话框中显示一个进步指标和一个可选的文本信息或一个视图。只有文本信息或一个视图,可以同时使用。

对话框可以按back键取消。

<2>方法

 

setProgressStyle()     设置进度条风格

 

 setTitle()    设置ProgressDialog 标题

    
setMessage()    设置ProgressDialog 提示信息

setIcon()    设置ProgressDialog 标题图标


setIndeterminate()  设置ProgressDialog 的进度条是否不明确

    
setCancelable()   设置ProgressDialog 是否可以按退回按键取消

setButton()    设置ProgressDialog 的一个Button

 

setProgress() 设置ProgressDialog 进度条进度

 

show()  显示ProgressDialog

 

<3>范例

Android学习笔记之ProgressDialog Android学习笔记之ProgressDialog

package com.yarin.android.Examples_04_24;    import android.app.Activity;  import android.app.ProgressDialog;  import android.content.DialogInterface;  import android.os.Bundle;  import android.view.View;  import android.view.View.OnClickListener;  import android.widget.Button;    public class Activity01 extends Activity  {   private Button Button1 = null;   private Button Button2 = null;      int count = 0;   //声明进度条对话框   ProgressDialog progressDialog = null;   /** Called when the activity is first created. */   @Override   public void onCreate(Bundle savedInstanceState)   {    super.onCreate(savedInstanceState);    setContentView(R.layout.main);        //得到按钮对象    Button1 = (Button)findViewById(R.id.Button01);    Button2 = (Button)findViewById(R.id.Button02);        //设置mButton01的事件监听    Button1.setOnClickListener(new Button1Listener());            //设置mButton02的事件监听       Button2.setOnClickListener(new Button2Listener());   }   private class Button1Listener implements OnClickListener{      public void onClick(View v) {     //创建ProgressDialog对象     progressDialog = new ProgressDialog(Activity01.this);     // 设置进度条风格,风格为圆形,旋转的     progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);     // 设置ProgressDialog 标题     progressDialog.setTitle("提示");     // 设置ProgressDialog 提示信息     progressDialog.setMessage("这是一个圆形进度条对话框");     // 设置ProgressDialog 标题图标     progressDialog.setIcon(R.drawable.a);     // 设置ProgressDialog 的进度条是否不明确     progressDialog.setIndeterminate(false);        // 设置ProgressDialog 是否可以按退回按键取消     progressDialog.setCancelable(true);        //设置ProgressDialog 的一个Button     progressDialog.setButton("确定", new SureButtonListener());     // 让ProgressDialog显示     progressDialog.show();    }   }   //Dialog中确定按钮的监听器   private class SureButtonListener implements android.content.DialogInterface.OnClickListener{      public void onClick(DialogInterface dialog, int which) {     //点击“确定按钮”取消对话框     dialog.cancel();    }       }   private class Button2Listener implements OnClickListener{       public void onClick(View v) {      count = 0;         // 创建ProgressDialog对象      progressDialog = new ProgressDialog(Activity01.this);          // 设置进度条风格,风格为长形      progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);          // 设置ProgressDialog 标题      progressDialog.setTitle("提示");          // 设置ProgressDialog 提示信息      progressDialog.setMessage("这是一个长形对话框进度条");          // 设置ProgressDialog 标题图标      progressDialog.setIcon(R.drawable.a);      // 设置ProgressDialog 进度条进度      progressDialog.setProgress(100);         // 设置ProgressDialog 的进度条是否不明确      progressDialog.setIndeterminate(false);          // 设置ProgressDialog 是否可以按退回按键取消      progressDialog.setCancelable(true);          // 让ProgressDialog显示      progressDialog.show();          new Thread()       {       public void run()       {        try        {         while (count <= 100)         {           // 由线程来控制进度。          progressDialog.setProgress(count++);          Thread.sleep(100);          }         progressDialog.cancel();        }        catch (InterruptedException e)        {         progressDialog.cancel();        }       }     }.start();     }   }  }
<?xml version="1.0" encoding="utf-8"?>  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"      android:orientation="vertical"      android:layout_width="fill_parent"      android:layout_height="fill_parent"      >    <Button      android:id="@+id/Button01"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:text="圆形进度条" />    <Button      android:id="@+id/Button02"      android:layout_width="wrap_content"      android:layout_height="wrap_content"      android:text="长形进度条" />  </LinearLayout>
转自:http://blog.csdn.net/sjf0115/article/details/7255280