ProgressDialog 进度条对话框

显然要定义对话框进度条就要用ProgressDialog,首先我们需要创建ProgressDialog对象,当然这里同样使用了线程来控制进度条显示,另外可以使用以下方法来设置ProgressDialog。
  setProgressStyle:设置进度条风格,风格为圆形,旋转的。
  setTitlt:设置ProgressDialog 标题
  setMessage:设置ProgressDialog提示信息;
  setIcon:设置ProgressDialog标题图标;
  setIndeterminate:设置ProgressDialog 的进度条是否不明确;
  setCancelable:设置ProgressDialog 是否可以按返回键取消;
  setButton:设置ProgressDialog 的一个Button(需要监听Button事件);
  show:显示ProgressDialog。

  首先还是让我们看看运行效果吧





   下面先来看看布局文件
<?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"
    >
<TextView 
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello"
    />
<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>

Activity01
Java代码   收藏代码
  1. package xiaohang.zhimeng;  
  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 xhButton01, xhButton02;  
  14.   
  15.     int xh_count = 0;  
  16.     // 声明进度条对话框  
  17.     ProgressDialog xh_pDialog;  
  18.   
  19.     @Override  
  20.     public void onCreate(Bundle savedInstanceState) {  
  21.         super.onCreate(savedInstanceState);  
  22.         setContentView(R.layout.main);  
  23.   
  24.         // 得到按钮对象  
  25.         xhButton01 = (Button) findViewById(R.id.Button01);  
  26.         xhButton02 = (Button) findViewById(R.id.Button02);  
  27.   
  28.         // 设置xhButton01的事件监听  
  29.         xhButton01.setOnClickListener(new OnClickListener() {  
  30.             @Override  
  31.             public void onClick(View v) {  
  32.                 // 创建ProgressDialog对象  
  33.                 xh_pDialog = new ProgressDialog(Activity01.this);  
  34.   
  35.                 // 设置进度条风格,风格为圆形,旋转的  
  36.                 xh_pDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);  
  37.   
  38.                 // 设置ProgressDialog 标题  
  39.                 xh_pDialog.setTitle("提示");  
  40.   
  41.                 // 设置ProgressDialog提示信息  
  42.                 xh_pDialog.setMessage("这是一个圆形进度条对话框");  
  43.   
  44.                 // 设置ProgressDialog标题图标  
  45.                 xh_pDialog.setIcon(R.drawable.img1);  
  46.   
  47.                 // 设置ProgressDialog 的进度条是否不明确 false 就是不设置为不明确  
  48.                 xh_pDialog.setIndeterminate(false);  
  49.   
  50.                 // 设置ProgressDialog 是否可以按退回键取消  
  51.                 xh_pDialog.setCancelable(true);  
  52.   
  53.                 // 设置ProgressDialog 的一个Button  
  54.                 xh_pDialog.setButton("确定"new Bt1DialogListener());  
  55.   
  56.                 // 让ProgressDialog显示  
  57.                 xh_pDialog.show();  
  58.             }  
  59.   
  60.         });  
  61.   
  62.         // 设置xhButton02的事件监听  
  63.         xhButton02.setOnClickListener(new Button.OnClickListener() {  
  64.   
  65.             @Override  
  66.             public void onClick(View v) {  
  67.   
  68.                 xh_count = 0;  
  69.   
  70.                 // 创建ProgressDialog对象  
  71.                 xh_pDialog = new ProgressDialog(Activity01.this);  
  72.   
  73.                 // 设置进度条风格,风格为圆形,旋转的  
  74.                 xh_pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);  
  75.   
  76.                 // 设置ProgressDialog 标题  
  77.                 xh_pDialog.setTitle("提示");  
  78.   
  79.                 // 设置ProgressDialog提示信息  
  80.                 xh_pDialog.setMessage("这是一个长形进度条对话框");  
  81.   
  82.                 // 设置ProgressDialog标题图标  
  83.                 xh_pDialog.setIcon(R.drawable.img2);  
  84.   
  85.                 // 设置ProgressDialog 的进度条是否不明确 false 就是不设置为不明确  
  86.                 xh_pDialog.setIndeterminate(false);  
  87.   
  88.                 // 设置ProgressDialog 进度条进度  
  89.                 xh_pDialog.setProgress(100);  
  90.   
  91.                 // 设置ProgressDialog 是否可以按退回键取消  
  92.                 xh_pDialog.setCancelable(true);  
  93.   
  94.                 // 让ProgressDialog显示  
  95.                 xh_pDialog.show();  
  96.   
  97.                 new Thread() {  
  98.                     @Override  
  99.                     public void run() {  
  100.                         try {  
  101.                             while (xh_count <= 100) {  
  102.                                 // 由线程来控制进度  
  103.                                 xh_pDialog.setProgress(xh_count++);  
  104.                                 Thread.sleep(100);  
  105.                             }  
  106.                             xh_pDialog.cancel();  
  107.                         } catch (Exception e) {  
  108.                             xh_pDialog.cancel();  
  109.                         }  
  110.                     }  
  111.                 }.start();  
  112.   
  113.             }  
  114.   
  115.         });  
  116.     }  
  117.   
  118.     // xhButton01的监听器类  
  119.     class Bt1DialogListener implements DialogInterface.OnClickListener {  
  120.         @Override  
  121.         public void onClick(DialogInterface dialog, int which) {  
  122.             // 点击“确定”按钮取消对话框  
  123.             dialog.cancel();  
  124.         }  
  125.     }  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值