10.Android之ProgressDialog进度对话框学习
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进度对话框学习的更多相关文章
- (转载)Android自定义ProgressDialog进度等待框
Android自定义ProgressDialog进度等待框 作者:无缘公子 字体:[增加 减小] 类型:转载 时间:2016-01-11我要评论 这篇文章主要介绍了Android自定义Progress ...
- 【转】24. android dialog ——ProgressDialog 进度条对话框详解
原文网址:http://blog.csdn.net/jamesliulyc/article/details/6375598 首先在onCreateDialog方法里创建一个ProgressDialog ...
- 【转】【Android】ProgressDialog进度条对话框的使用
Android ProgressDialog进度条对话框的使用: 转自:http://aina-hk55hk.iteye.com/blog/679134/ <?xml version=" ...
- android学习笔记20——ProgressDialog进度条对话框
ProgressDialog==>进度条对话框 ProgressDialog本身就代表一个进度条对话框,程序只需要创建ProgressDialog实例,并将其显示出来就是一个进度条对话框:开发者 ...
- Android学习笔记(九)——更复杂的进度对话框
显示操作进度的对话框 1.使用上一篇创建的同一项目.在activity_main.xml文件里加入一个Button: <Button android:id="@+id/btn_dial ...
- Android学习笔记(八)——显示运行进度对话框
显示运行进度对话框 我们经常有这种经历:运行某一应用程序时.须要等待一会,这时会显示一个进度(Please Wait)对话框,让用户知道操作正在进行. 我们继续在上一篇中的程序中加入代码~ 1.在上一 ...
- Android开发系列(二十七):使用ProgressDialog创建进度对话框
进度对话框在寻常的应用中非经常见,比方下载的时候,打开页面的时候.转移文件等等.有环形的.有长条形的. 基本就这两种 创建进度对话框的两种方式: 1.创建ProgressDialog实例,然后调用Pr ...
- Android——ProgressDialog 进度条对话框
public class ProgressDialogActivity extends Activity { private Button btn_large_pd, btn_horizonta ...
- 使用ProgressDialog创建进度对话框
ProgressDialog代表了进度对话框,程序只要创建ProgressDialog实例,并将它显示出来就是一个进度对画框.使用ProgressDialog创建进度对话框有如下两种方式. ①如果只是 ...
随机推荐
- Mango Weekly Training Round #6 解题报告
比赛链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=41856#overview A.多种解法.可以dfs倒序染色,如mathlove ...
- xampp 用phpmyadmin在页面上修改密码后,无法登陆,密码没问题
xampp 用phpmyadmin在页面上修改密码后,无法登陆,密码没问题一直提示密码错误, 什么原因? ------解决方案--------------------改了密码之后,phpmyadmin ...
- java 21-13 合并
SequenceInputStream(Enumeration<? extends InputStream> e) 通过记住参数来初始化新创建的 SequenceInp ...
- iOS开发如何提高(from 唐巧的博客)
http://blog.devtang.com/blog/2014/07/27/ios-levelup-tips/
- js原生捕鱼达人(三)--完结
先给分享下我写完的效果,github有点卡,我没有压缩代码,不过效果可以看到 https://jasonwang911.github.io/ 转载请注明'转载于Jason齐齐的博客http://www ...
- this关键字的使用
一,表示类中属性 1,没有使用this的情况 class Person{ // 定义Person类 private String name ; // 姓名 private int age ; // 年 ...
- 04JavaIO详解_DataInputStream(属于过滤l流)
DataInputStream这个类是二进制读写的.并且 是过滤流,会一层套一层的.这里就是装饰者模式. public class DataStream1 { public static void m ...
- Bitbucket免费的私有仓库
1.官网 https://bitbucket.org/ 2.介绍 知乎:http://www.zhihu.com/question/20053312 建议同时用Bitbucket和Github,理由如 ...
- swift 判断输入的字符串是否为数字
// 判断输入的字符串是否为数字,不含其它字符 func isPurnInt(string: String) -> Bool { let scan: Scanner = Scanner(stri ...
- C语言 百炼成钢10
//题目28:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁.问第4个人岁数,他说比第 //3个人大2岁.问第三个人,又说比第2人大两岁.问第2个人,说比第一个人大两岁.最后 //问第一个人 ...