Android开发手记(8) ProgressDialog的使用
ProgressDialog,进度对话框。一般有两种,一种是圆形的进度条(ProgressDialog.STYLE_SPINNER),另一种是长条形的进度条(ProgressDialog.STYLE_HORIZONTAL)。

ProgressDialog常用的方法有以下几种:
progressDialog = new ProgressDialog(MainActivity.this); // 新建一个ProgressDialog
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); // 设置ProgressDialog的样式
progressDialog.setTitle("Note:"); // 设置标题
progressDialog.setMessage("这是一个水平进度条"); // 设置显示内容
progressDialog.setIndeterminate(false); // 是否是不确定状态
progressDialog.setCancelable(true); // 是否可以取消
progressDialog.setProgress(0); // 设置初始进度
progressDialog.setMax(200); // 设置最大进度
progressDialog.setSecondaryProgress(100); // 设置第二进度(可用于缓冲显示)
progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, "OK", new DialogInterface.OnClickListener() {
@Override // 设置按钮
public void onClick(DialogInterface dialogInterface, int i) { // DialogInterface表示按钮位置
progressDialog.cancel(); // BUTTON_POSITIVE 为最右边
} // BUTTON_NEUTRAL 为在中间
}); // BUTTON_NEGATIVE 为最左边
progressDialog.show(); // 显示ProgressDialog
1、圆形进度条
btnCricleDlg = (Button)findViewById(R.id.btnCircleDlg);
btnCricleDlg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.setTitle("Note:");
progressDialog.setMessage("这是一个圆形进度条");
progressDialog.setIndeterminate(false);
progressDialog.setCancelable(true);
progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, "OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int witch) {
progressDialog.cancel();
}
});
progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE,"CANCEL",new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int witch){
progressDialog.cancel();
}
});
progressDialog.show();
}
});
2、长形进度条
btnLongDlg = (Button) findViewById(R.id.btnLongDlg);
btnLongDlg.setOnClickListener(new View.OnClickListener() {
int count = 0;
@Override
public void onClick(View view) {
progressDialog = new ProgressDialog(MainActivity.this); // 新建一个ProgressDialog
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); // 设置ProgressDialog的样式
progressDialog.setTitle("Note:"); // 设置标题
progressDialog.setMessage("这是一个水平进度条"); // 设置显示内容
progressDialog.setIndeterminate(false); // 是否是不确定状态
progressDialog.setCancelable(true); // 是否可以取消
progressDialog.setProgress(0); // 设置初始进度
progressDialog.setMax(200); // 设置最大进度
progressDialog.setSecondaryProgress(100); // 设置第二进度(可用于缓冲显示)
progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, "OK", new DialogInterface.OnClickListener() {
@Override // 设置按钮
public void onClick(DialogInterface dialogInterface, int i) { // DialogInterface表示按钮位置
progressDialog.cancel(); // BUTTON_POSITIVE 为最右边
} // BUTTON_NEUTRAL 为在中间
}); // BUTTON_NEGATIVE 为最左边
progressDialog.show(); // 显示ProgressDialog new Thread(){
public void run(){
while(count<=200){
try{
Thread.sleep(100);
progressDialog.incrementProgressBy(1);
}catch(Exception e){ } }
} }.start();
}
});
3、完整代码
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button; public class MainActivity extends AppCompatActivity { private Button btnCricleDlg;
private Button btnLongDlg;
private ProgressDialog progressDialog; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); btnCricleDlg = (Button)findViewById(R.id.btnCircleDlg);
btnLongDlg = (Button) findViewById(R.id.btnLongDlg); btnCricleDlg.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
progressDialog = new ProgressDialog(MainActivity.this);
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
progressDialog.setTitle("Note:");
progressDialog.setMessage("这是一个圆形进度条");
progressDialog.setIndeterminate(false);
progressDialog.setCancelable(true);
progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, "OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int witch) {
progressDialog.cancel();
}
});
progressDialog.setButton(DialogInterface.BUTTON_NEGATIVE,"CANCEL",new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int witch){
progressDialog.cancel();
}
});
progressDialog.show();
}
}); btnLongDlg.setOnClickListener(new View.OnClickListener() {
int count = 0;
@Override
public void onClick(View view) {
progressDialog = new ProgressDialog(MainActivity.this); // 新建一个ProgressDialog
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); // 设置ProgressDialog的样式
progressDialog.setTitle("Note:"); // 设置标题
progressDialog.setMessage("这是一个水平进度条"); // 设置显示内容
progressDialog.setIndeterminate(false); // 是否是不确定状态
progressDialog.setCancelable(true); // 是否可以取消
progressDialog.setProgress(0); // 设置初始进度
progressDialog.setMax(200); // 设置最大进度
progressDialog.setSecondaryProgress(100); // 设置第二进度(可用于缓冲显示)
progressDialog.setButton(DialogInterface.BUTTON_POSITIVE, "OK", new DialogInterface.OnClickListener() {
@Override // 设置按钮
public void onClick(DialogInterface dialogInterface, int i) { // DialogInterface表示按钮位置
progressDialog.cancel(); // BUTTON_POSITIVE 为最右边
} // BUTTON_NEUTRAL 为在中间
}); // BUTTON_NEGATIVE 为最左边
progressDialog.show(); // 显示ProgressDialog new Thread(){
public void run(){
while(count<=200){
try{
Thread.sleep(100);
progressDialog.incrementProgressBy(1);
}catch(Exception e){ } }
} }.start();
}
}); } }
MainActivity.java
Android开发手记(8) ProgressDialog的使用的更多相关文章
- Android 开发手记一NDK编程实例
在Android上,应用程序的开发,大部分基于Java语言来实现.要使用c或是c++的程序或库,就需要使用NDK来实现.NDK是Native Development Kit的简称.它是一个工具集,集成 ...
- Android开发手记(28) Handler和Looper
Android的消息处理有三个核心类:Looper,Handler和Message.其实还有一个Message Queue(消息队列),但是MQ被封装到Looper里面了,我们不会直接与MQ打交道.平 ...
- Android开发手记(24) Log的使用及颜色的更改
在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以用于程序调试,也可以用于产品运营中的事件记录.在Android系统中,提供了简单.便利的LOG机制,开发人员可以方便地使用.本文 ...
- Android开发手记(22) 传感器的使用
Android的传感器主要包括八大传感器,他们分别是:加速度传感器(accelerometer).陀螺仪(gyroscope).方向传感器(orientation).磁力传感器(magnetic fi ...
- Android开发手记(18) 数据存储三 SQLite存储数据
Android为数据存储提供了五种方式: 1.SharedPreferences 2.文件存储 3.SQLite数据库 4.ContentProvider 5.网络存储 SQLite 是以嵌入式为目的 ...
- Android开发手记(17) 数据存储二 文件存储数据
Android为数据存储提供了五种方式: 1.SharedPreferences 2.文件存储 3.SQLite数据库 4.ContentProvider 5.网络存储 本文主要介绍如何使用文件来存储 ...
- Android开发手记(32) 使用摄像头拍照
在Android中,使用摄像头拍照一般有两种方法, 一种是调用系统自带的Camera,另一种是自己写一个摄像的界面. 我们要添加如下权限: <uses-permission android:na ...
- Android开发手记(31) 使用MediaRecorder录音
使用Android手机的时候,有时我们会用到录音功能,本文简单的介绍了如何使用MediaRecorder通过手机自带麦克风进行录音. 首先,既然是录音,我们需要录音和写外存的权限: <uses- ...
- Android开发手记(30) 触摸及手势操作
触摸操作在现在智能手机系统中起到举足轻重的作用,本文将对安卓中的触摸以及一些简单手势的操作进行简单的介绍. 1.触摸 首先是关于触摸的判断,有两种方法可以判断的触摸操作. (1)setOnTouchL ...
随机推荐
- 超级易使用的jquery视频背景插件Vide
http://www.jqcool.net/demo/201410/jquery-vide/ 官网: http://vodkabears.github.io/vide/
- win10 64bit 安装scrapy-1.1
0.环境说明 win10 64bit,电脑也是64bit的处理器,电脑装有vs2010 64bit,但是为了保险起见,只试验了32位的安装,等有时间了,再试下64位的安装.如无特殊说明,一切操作都是在 ...
- storm supervisor启动报错java.lang.RuntimeException: java.io.EOFException
storm因机器断电或其他异常导致的supervisor意外终止,再次启动时报错: 1. 2013-09-24 09:15:44,361 INFO [main] daemon.supervisor ( ...
- linux c数据库备份第三版
这个版本相对第一版更新了很多,其实我本地定义为第五版的.相对第一版主要更新内容:1.增加了定时器2.用户可以停止调备份程序3.如果备份程序正在运行,那么尝试运行提示已经在运行4.记录程序运行时的pid ...
- Scut:通用配置管理器
1. 配置节 ConfigSection private List<ConfigNode> _configNodes; public class ConfigNode { public C ...
- IOS--UIAlertView的使用方法详细
IOS--UIAlertView的使用方法详细 // UIAlertView的常用方法 // 标准样式 UIAlertView *oneAlertView = [[UIAlertView allo ...
- xcode5 自定义模板
经过一番周折,终于在xcode5上实现了一个简单的自定义模板,在项目中集成NSLogger库(增强NSLog的功能,https://github.com/fpillet/NSLogger)——新建项目 ...
- Ratchet(WebSockets for PHP)的官方TUTORIALS 的实践
前几天稍微看了一下Ratchet,并且实践了一下它官方例子.所以现在就将实践的过程记录下来. 在具体实践之前先将Ratchet是什么东东,要先说明一下.以下的英文是从官方copy过来的 Ratchet ...
- 统计指定时间段的访问真正WEB页面(去除静态请求)的IP的TOP100排行
最近就在磨这个脚本以达到SEO同事要求哈. awk -v b=[21/Apr/2015:15:46 -v a=[21/Apr/2015:16:46 '$4 > b && $4 & ...
- LayerDrawable 资源
与 StateListDrawable 有点类似,LayerDrawable 也可包含一个 Drawable 数组,因此系统 将会按这些 Drawable 对象的数组顺序来绘制它们,索引最大的 Dra ...