转Android ProgressDialog的使用

Posted wi100sh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了转Android ProgressDialog的使用相关的知识,希望对你有一定的参考价值。

原文网址:http://blog.csdn.net/sjf0115/article/details/7255280

<1>简介

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

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

对话框可以按back键取消。

<2>方法

 

setProgressStyle()     设置进度条风格

 

 setTitle()    设置ProgressDialog 标题

    
setMessage()    设置ProgressDialog 提示信息

setIcon()    设置ProgressDialog 标题图标


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

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

setButton()    设置ProgressDialog 的一个Button

 

setProgress() 设置ProgressDialog 进度条进度

 

show()  显示ProgressDialog

 

<3>范例

技术分享技术分享

 

[java] view plain copy
 
  1. package com.yarin.android.Examples_04_24;  
  2.   
  3. import android.app.Activity;  
  4. import android.app.ProgressDialog;  
  5. import android.content.DialogInterface;  
  6. import android.os.Bundle;  
  7. import android.view.View;  
  8. import android.view.View.OnClickListener;  
  9. import android.widget.Button;  
  10.   
  11. public class Activity01 extends Activity  
  12. {  
  13.     private Button Button1 = null;  
  14.     private Button Button2 = null;  
  15.       
  16.     int count = 0;  
  17.     //声明进度条对话框  
  18.     ProgressDialog progressDialog = null;  
  19.     /** Called when the activity is first created. */  
  20.     @Override  
  21.     public void onCreate(Bundle savedInstanceState)  
  22.     {  
  23.         super.onCreate(savedInstanceState);  
  24.         setContentView(R.layout.main);  
  25.           
  26.         //得到按钮对象  
  27.         Button1 = (Button)findViewById(R.id.Button01);  
  28.         Button2 = (Button)findViewById(R.id.Button02);  
  29.           
  30.         //设置mButton01的事件监听  
  31.         Button1.setOnClickListener(new Button1Listener());  
  32.           
  33.       //设置mButton02的事件监听  
  34.         Button2.setOnClickListener(new Button2Listener());  
  35.     }  
  36.     private class Button1Listener implements OnClickListener{  
  37.   
  38.         public void onClick(View v) {  
  39.             //创建ProgressDialog对象  
  40.             progressDialog = new ProgressDialog(Activity01.this);  
  41.             // 设置进度条风格,风格为圆形,旋转的  
  42.             progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);  
  43.             // 设置ProgressDialog 标题  
  44.             progressDialog.setTitle("提示");  
  45.             // 设置ProgressDialog 提示信息  
  46.             progressDialog.setMessage("这是一个圆形进度条对话框");  
  47.             // 设置ProgressDialog 标题图标  
  48.             progressDialog.setIcon(R.drawable.a);  
  49.             // 设置ProgressDialog 的进度条是否不明确  
  50.             progressDialog.setIndeterminate(false);           
  51.             // 设置ProgressDialog 是否可以按退回按键取消  
  52.             progressDialog.setCancelable(true);           
  53.             //设置ProgressDialog 的一个Button  
  54.             progressDialog.setButton("确定", new SureButtonListener());  
  55.             // 让ProgressDialog显示  
  56.             progressDialog.show();  
  57.         }  
  58.     }  
  59.     //Dialog中确定按钮的监听器  
  60.     private class SureButtonListener implements android.content.DialogInterface.OnClickListener{  
  61.   
  62.         public void onClick(DialogInterface dialog, int which) {  
  63.             //点击“确定按钮”取消对话框  
  64.             dialog.cancel();  
  65.         }  
  66.           
  67.     }  
  68.     private class Button2Listener implements OnClickListener{  
  69.   
  70.             public void onClick(View v) {  
  71.                 count = 0;            
  72.                 // 创建ProgressDialog对象  
  73.                 progressDialog = new ProgressDialog(Activity01.this);                 
  74.                 // 设置进度条风格,风格为长形  
  75.                 progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);                 
  76.                 // 设置ProgressDialog 标题  
  77.                 progressDialog.setTitle("提示");                
  78.                 // 设置ProgressDialog 提示信息  
  79.                 progressDialog.setMessage("这是一个长形对话框进度条");                
  80.                 // 设置ProgressDialog 标题图标  
  81.                 progressDialog.setIcon(R.drawable.a);  
  82.                 // 设置ProgressDialog 进度条进度  
  83.                 progressDialog.setProgress(100);     《==应该改为 progressDialog.setMax(100)
  84.                 // 设置ProgressDialog 的进度条是否不明确  
  85.                 progressDialog.setIndeterminate(false);               
  86.                 // 设置ProgressDialog 是否可以按退回按键取消  
  87.                 progressDialog.setCancelable(true);               
  88.                 // 让ProgressDialog显示  
  89.                 progressDialog.show();                
  90.                 new Thread()   
  91.                 {  
  92.                     public void run()  
  93.                     {  
  94.                         try  
  95.                         {  
  96.                             while (count <= 100)  
  97.                             {   
  98.                                 // 由线程来控制进度。  
  99.                                 progressDialog.setProgress(count++);  
  100.                                 Thread.sleep(100);   
  101.                             }  
  102.                             progressDialog.cancel();  
  103.                         }  
  104.                         catch (InterruptedException e)  
  105.                         {  
  106.                             progressDialog.cancel();  
  107.                         }  
  108.                     }  
  109.             }.start();    
  110.         }  
  111.     }  
  112. }  


 

[java] view plain copy
 
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns: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.   <Button  
  8.     android:id="@+id/Button01"  
  9.     android:layout_width="wrap_content"  
  10.     android:layout_height="wrap_content"  
  11.     android:text="圆形进度条" />  
  12.   <Button  
  13.     android:id="@+id/Button02"  
  14.     android:layout_width="wrap_content"  
  15.     android:layout_height="wrap_content"  
  16.     android:text="长形进度条" />  
  17. </LinearLayout>  

以上是关于转Android ProgressDialog的使用的主要内容,如果未能解决你的问题,请参考以下文章

Android:ProgressDialog.show() 使用 getApplicationContext 崩溃

Xamarin.Android:ProgressDialog 不显示

Android:ProgressDialog 不显示

Android 强制关闭 ProgressDialog

使用自定义 ProgressDialog android

Android 进度条对话框ProgressDialog