zoukankan      html  css  js  c++  java
  • 【转】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>  
  • 相关阅读:
    poj 2479
    纯CSS实现小圆点和三角形图案
    HDOJ1084 What Is Your Grade?
    4星|《一世富贵》:穿越到宋朝去抢了狄青、范仲淹的风头
    世界不是平的,发达国家在本地生产越来越合算。观点宏大,证据薄弱:3星|《后全球化时代》
    饥饿疗法是目前唯一确信能够延缓衰老的办法:4星|《三联生活周刊》2018年3期
    4星|《重塑》:消费者的信息能力是一个重要的经济变量。新颖的、有见地的国人原创经济理论
    3星|《高情商谈判》:谈判中控制情绪非常重要
    中间商赚差价让世界更美好:3.5星|《中间人经济》
    3.5星|《新零售的未来》:中美两国零售业的现状的分析和未来的展望
  • 原文地址:https://www.cnblogs.com/wi100sh/p/5304972.html
Copyright © 2011-2022 走看看