APP应用中经常会下载某些东西,这里面有涉及到进度对话框,今天来学习下。

首先,布局里放进两个按钮,点击一个显示条形进度条,另一个显示圆形进度条。代码如下:

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:id="@+id/LinearLayout01"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"> <Button
android:id="@+id/progress"
android:layout_width="128dp"
android:layout_height="wrap_content"
android:text="条形进度条" /> <Button
android:id="@+id/circle"
android:layout_width="128dp"
android:layout_height="wrap_content"
android:text="圆形进度条" /> </LinearLayout>

显示效果:

修改MainActivity.java文件:

 package com.example.progressdialog;

 import android.app.Activity;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button; public class MainActivity extends Activity { private Button m_btnProgress = null;
private Button m_btnCircle = null;
private ProgressDialog pDialog = null;
private int iCount = 0; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); m_btnProgress = (Button) findViewById(R.id.progress);
m_btnCircle = (Button) findViewById(R.id.circle); m_btnProgress.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) {
iCount = 0;
pDialog = new ProgressDialog(MainActivity.this); // 设置进度条风格,风格为长形
pDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); // 设置ProgressDialog 标题
pDialog.setTitle("条形进度条"); // 设置ProgressDialog 提示信息
pDialog.setMessage("正在下载中……"); // 设置ProgressDialog 标题图标
pDialog.setIcon(R.drawable.ic_launcher); // 设置ProgressDialog 进度条进度
pDialog.setProgress(100); // 设置ProgressDialog 的进度条是否不明确
pDialog.setIndeterminate(false); // 设置ProgressDialog 是否可以按退回按键取消
pDialog.setCancelable(true); // 让ProgressDialog显示
pDialog.show(); new Thread() {
public void run() {
try {
while (iCount <= 100) {
// 由线程来控制进度。
pDialog.setProgress(iCount++);
Thread.sleep(80);
}
pDialog.cancel();
} catch (InterruptedException e) { }
}
}.start(); }
}); m_btnCircle.setOnClickListener(new View.OnClickListener() { @Override
public void onClick(View v) { iCount = 0;
// 创建ProgressDialog对象
pDialog = new ProgressDialog(MainActivity.this); // 设置进度条风格,风格为圆形,旋转的
pDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); // 设置ProgressDialog 标题
pDialog.setTitle("圆形进度条"); // 设置ProgressDialog 提示信息
pDialog.setMessage("正在下载中……"); // 设置ProgressDialog 标题图标
pDialog.setIcon(R.drawable.ic_launcher); // 设置ProgressDialog 进度条进度
pDialog.setProgress(100); // 设置ProgressDialog 的进度条是否不明确
pDialog.setIndeterminate(false); // 设置ProgressDialog 是否可以按退回按键取消
pDialog.setCancelable(true); // 设置ProgressDialog 的一个Button
pDialog.setButton("取消", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int i) {
// 点击“取消”按钮取消对话框
dialog.cancel();
}
}); // 让ProgressDialog显示
pDialog.show(); // 创建线程实例
new Thread() {
public void run() {
try {
while (iCount <= 100) {
// 由线程来控制进度。
pDialog.setProgress(iCount++);
Thread.sleep(80);
}
pDialog.cancel();
} catch (InterruptedException e) {
pDialog.cancel();
}
} }.start(); }
});
} }

点击按钮效果:

    

10.Android之ProgressDialog进度对话框学习的更多相关文章

  1. (转载)Android自定义ProgressDialog进度等待框

    Android自定义ProgressDialog进度等待框 作者:无缘公子 字体:[增加 减小] 类型:转载 时间:2016-01-11我要评论 这篇文章主要介绍了Android自定义Progress ...

  2. 【转】24. android dialog ——ProgressDialog 进度条对话框详解

    原文网址:http://blog.csdn.net/jamesliulyc/article/details/6375598 首先在onCreateDialog方法里创建一个ProgressDialog ...

  3. 【转】【Android】ProgressDialog进度条对话框的使用

    Android ProgressDialog进度条对话框的使用: 转自:http://aina-hk55hk.iteye.com/blog/679134/ <?xml version=" ...

  4. android学习笔记20——ProgressDialog进度条对话框

    ProgressDialog==>进度条对话框 ProgressDialog本身就代表一个进度条对话框,程序只需要创建ProgressDialog实例,并将其显示出来就是一个进度条对话框:开发者 ...

  5. Android学习笔记(九)——更复杂的进度对话框

    显示操作进度的对话框 1.使用上一篇创建的同一项目.在activity_main.xml文件里加入一个Button: <Button android:id="@+id/btn_dial ...

  6. Android学习笔记(八)——显示运行进度对话框

    显示运行进度对话框 我们经常有这种经历:运行某一应用程序时.须要等待一会,这时会显示一个进度(Please Wait)对话框,让用户知道操作正在进行. 我们继续在上一篇中的程序中加入代码~ 1.在上一 ...

  7. Android开发系列(二十七):使用ProgressDialog创建进度对话框

    进度对话框在寻常的应用中非经常见,比方下载的时候,打开页面的时候.转移文件等等.有环形的.有长条形的. 基本就这两种 创建进度对话框的两种方式: 1.创建ProgressDialog实例,然后调用Pr ...

  8. Android——ProgressDialog 进度条对话框

    public class ProgressDialogActivity extends Activity {    private Button btn_large_pd, btn_horizonta ...

  9. 使用ProgressDialog创建进度对话框

    ProgressDialog代表了进度对话框,程序只要创建ProgressDialog实例,并将它显示出来就是一个进度对画框.使用ProgressDialog创建进度对话框有如下两种方式. ①如果只是 ...

随机推荐

  1. HDU 2669 Romantic【扩展欧几里德】

    裸的扩展欧几里德,求最小的X,X=((X0%b)+b)%b,每个X都对应一个Y,代入原式求解可得 #include<stdio.h> #include<string.h> ty ...

  2. 云盘WEB资料下载链接

    入门三板斧:http://www.cnblogs.com/jikey/p/3613082.html 入门看这个:http://pan.baidu.com/s/1pJqJvAV 入门JS视频:http: ...

  3. git版本控制工具(二)----本地版本库的常用操作

    ​[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/ ...

  4. 判断变量是否为json对象

    var m ={a:'A'}; if(typeof m == 'object' && JSON.stringify(m).indexOf('{') == 0){//判断变量m是不是js ...

  5. PYTHON FABRIC实现远程操作和部署

    转载至:http://wklken.me/posts/2013/03/25/python-tool-fabric.html fabric title是开发,但是同时要干开发测试还有运维的活 (o(╯□ ...

  6. MTK 平台上查询当前使用的摄像头模组及所支持预览分辨率

    1,MTK 平台如何查询当前使用的是哪颗摄像头及相关的模组信息? 在该目录下可以查到当前平台及相关项目的配置文件 ProjectConfig.mk \ALPS.JB.MP.V1_W_20120919\ ...

  7. C#泛型委托,匿名方法,匿名类

    class Test { delegate K proxy<T, K>(T t, K k); //泛型委托,注意返回值的写法,返回值的类型K先于其声明proxy<T,K>中的K ...

  8. Ant 执行 YUICompressor

    Ant 执行 YUICompressor 任务压缩 JavaScript 和 CSS 文件,解决中文乱码问题,增加源文件字符编码集设定 标签: javascriptantcss任务encodingnu ...

  9. Linux常用指令---netstat(网络端口)

    netstat命令用于显示与IP.TCP.UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况.netstat是在内核中访问网络及相关信息的程序,它能提供TCP连接,TCP和UDP ...

  10. 用virtualenv管理python3运行环境

    1. 简介 virtualenv可以用来管理互不干扰的独立python虚拟环境,在有些场景下非常有用,例如: 你有两个python项目,一个是python2.7的,另一个是python3的,可以创建两 ...