Android学习笔记之ProgressDialog

               

<1>简介

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

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

对话框可以按back键取消。

<2>方法

 

setProgressStyle()     设置进度条风格

 setTitle()    设置ProgressDialog 标题

    
setMessage()    设置ProgressDialog 提示信息

setIcon()    设置ProgressDialog 标题图标


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

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

setButton()    设置ProgressDialog 的一个Button

setProgress() 设置ProgressDialog 进度条进度

show()  显示ProgressDialog

<3>范例

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 Activityprivate Button Button1 = nullprivate 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>


 

           

猜你喜欢

转载自blog.csdn.net/qq_44929357/article/details/89417211