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的使用的更多相关文章

  1. Android 开发手记一NDK编程实例

    在Android上,应用程序的开发,大部分基于Java语言来实现.要使用c或是c++的程序或库,就需要使用NDK来实现.NDK是Native Development Kit的简称.它是一个工具集,集成 ...

  2. Android开发手记(28) Handler和Looper

    Android的消息处理有三个核心类:Looper,Handler和Message.其实还有一个Message Queue(消息队列),但是MQ被封装到Looper里面了,我们不会直接与MQ打交道.平 ...

  3. Android开发手记(24) Log的使用及颜色的更改

    在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以用于程序调试,也可以用于产品运营中的事件记录.在Android系统中,提供了简单.便利的LOG机制,开发人员可以方便地使用.本文 ...

  4. Android开发手记(22) 传感器的使用

    Android的传感器主要包括八大传感器,他们分别是:加速度传感器(accelerometer).陀螺仪(gyroscope).方向传感器(orientation).磁力传感器(magnetic fi ...

  5. Android开发手记(18) 数据存储三 SQLite存储数据

    Android为数据存储提供了五种方式: 1.SharedPreferences 2.文件存储 3.SQLite数据库 4.ContentProvider 5.网络存储 SQLite 是以嵌入式为目的 ...

  6. Android开发手记(17) 数据存储二 文件存储数据

    Android为数据存储提供了五种方式: 1.SharedPreferences 2.文件存储 3.SQLite数据库 4.ContentProvider 5.网络存储 本文主要介绍如何使用文件来存储 ...

  7. Android开发手记(32) 使用摄像头拍照

    在Android中,使用摄像头拍照一般有两种方法, 一种是调用系统自带的Camera,另一种是自己写一个摄像的界面. 我们要添加如下权限: <uses-permission android:na ...

  8. Android开发手记(31) 使用MediaRecorder录音

    使用Android手机的时候,有时我们会用到录音功能,本文简单的介绍了如何使用MediaRecorder通过手机自带麦克风进行录音. 首先,既然是录音,我们需要录音和写外存的权限: <uses- ...

  9. Android开发手记(30) 触摸及手势操作

    触摸操作在现在智能手机系统中起到举足轻重的作用,本文将对安卓中的触摸以及一些简单手势的操作进行简单的介绍. 1.触摸 首先是关于触摸的判断,有两种方法可以判断的触摸操作. (1)setOnTouchL ...

随机推荐

  1. Linux命令——创建删除文件

    创建文件夹 mkdir filename 进入目录文件 cd filename 返回上一级目录 cd ..返回多级目录   cd ../../.. (../表示一级) 创建文件 touch filen ...

  2. jQuery1.6以上版本prop和attr的区别

  3. jquery easy ui 学习 (1)Basic Window

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. 优雅降级&渐进增强

    优雅降级(Graceful Degradation) 关注点:最新的浏览器上构建体验很好的WEB应用. 降级:旧版本浏览器提供差强人意的体验,不影响功能的使用. 渐进增强(Progressive En ...

  5. Python hashlib模块 (主要记录md5加密)

    python提供了一个进行hash加密的模块:hashlib 下面主要记录下其中的md5加密方式(sha1加密一样把MD5换成sha1) >>> import hashlib > ...

  6. ppt画笔标记在哪里|ppt中画笔工具功能怎么用?

    一.ppt中画笔工具功能在哪里? 这个画笔工具其实就相当于我们的一个标记工具,要实现标记功能首先将需要演示的PPT按住F5进入到放映状态,然后在右击ppt上的空白处就会弹出衣蛾对话框,在对话框中选择“ ...

  7. 实验一:基于Winsock完成简单的网络程序开发

    第一部分:简答的UDP网络通信程序 // UDP5555.cpp : Defines the entry point for the application. //================== ...

  8. C# RGB与16进制颜色转换方法

    http://www.cnblogs.com/goldarch/archive/2010/08/16/1801053.html #region [颜色:16进制转成RGB]        /// &l ...

  9. FFT多项式乘法加速

    FFT基本操作...讲解请自己看大学信号转置系列... 15-5-30更新:改成结构体的,跪烂王学长啊啊啊啊机智的static... #include<iostream> #include ...

  10. 五子棋——C++

    最近在学C++,这个是照葫芦画瓢的五子棋C++版- - 依赖SDL_PingGe_1.3,很多实用的函数,类我都封装成DLL了调用起来真是舒服啊.. 不过一方面要对DLL做测试,一方面要开发,一个人还 ...