当前位置: 首页 > web >正文

Android中ProgressDialog的使用

1.简介

ProgressDialog可以表示操作正在后台进行。如果使用的是转圈的ProgressDialog则可以配合Handler,如果是使用进度条形式的ProgressDialog则可以配合线程使用。
转圈
进度条
主要方法:
setTitle:设置标题
setMessage:设置对话框消息内容
setIcon:设置图标
setProgress:设置当前进度值
setSecondProgress:设置当前第二进度的数值
setMax:数值最大进度数值
setProgressStyle:设置样式。有两种取值:ProgressDialog.STYLE_HORIZONTAL和ProgressDialog.STYLE_SPINNER
show:显示对话框
isShowing:判断对话框是否显示
dismiss:关闭对话框
setCanceledOnTouchOutside:设置点击对话框外是否取消对话框

2.使用

  1. 转圈式配合Handler。
	progressDialog = new ProgressDialog(MainActivity.this);progressDialog.setTitle("请稍后");progressDialog.setMessage("正在努力加载中...");progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);progressDialog.setIcon(R.mipmap.ic_launcher);progressDialog.setCanceledOnTouchOutside(false);progressDialog.show();handler.postDelayed(closeDialog, 5000);private Runnable closeDialog = new Runnable() {@Overridepublic void run() {f(progressDialog.isShowing()) {progressDialog.dismiss();Toast.makeText(MainActivity.this, "加载完成", Toast.LENGTH_SHORT).show();}}};
  1. 进度条式配合多线程。
	progressDialog = new ProgressDialog(MainActivity.this);progressDialog.setTitle("请稍后");progressDialog.setMessage("正在努力加载中..."); progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);progressDialog.setMax(100);progressDialog.setIcon(R.mipmap.ic_launcher);progressDialog.setCanceledOnTouchOutside(false);progressDialog.show();new freshDialog().start();private class freshDialog extends Thread {@Overridepublic void run() {for(int i = 0; i < 100; i++) {Message message = Message.obtain();message.what = 0;message.arg1 = i*1;handler.sendMessage(message);try {Thread.sleep(50);} catch (InterruptedException e) {e.printStackTrace();}}handler.sendEmptyMessage(1);}}private Handler handler = new Handler() {@Overridepublic void handleMessage(@NonNull Message msg) {if(msg.what == 0) {progressDialog.setProgress(msg.arg1);} else if(msg.what == 1) {this.post(closeDialog);}}};
http://www.xdnf.cn/news/11191.html

相关文章:

  • BP神经网络算法基本原理,bp神经网络算法详解
  • m3u8直播测试地址
  • 面向对象设计的八大基本原则
  • VMware虚拟机Windows 10安装使用教程(非常详细)从零基础入门到精通,看完这一篇就够了_vmware安装windows10
  • BUMO 区块链开发文档
  • Dogfooding-爱奇艺移动端后台灰度环境优化实践
  • Union和Union All的使用
  • jQuery.serializeArray() 函数详解
  • C/C++编程:log4cpp使用学习
  • wait,notify/notifyAll的使用及实现原理
  • ObjectDock
  • Java 10正式发布,带来了这些新特性
  • Coqui:创建逼真的生成式人工智能语音
  • 在网络安全领域,比较牛的中国黑客有哪些?
  • git clone 遇到问题:fatal: unable to access ‘https://github.comxxxxxxxxxxx‘: Failed to connect to xxxxxxx
  • iOS开发进阶(一):iOS原生开发环境搭建步骤详解_ios编译环境搭建
  • 关于connectionstring字符串的那点事
  • Python OpenCV 3.x 示例:6~11
  • cache介绍及问题解决
  • 原始数据哪里找?这些网站要用好!200个国内外经济/金融/行研/咨询数据网站大全(附链接)...
  • Linux系统中rpm命令用法详解
  • 华为3108raid安linux,华为服务器 RAID卡配置 SR430 LSISAS3108(Legacy/Dual模式)传统模式
  • CorelDRAW X4 SP2 简体中文正式版精简增强版
  • 简易日志告警系统
  • 群晖上搭建teamspeak3语音服务器
  • 如何实现两地星三角启动
  • Event事件学习实用路线(9)——Event事件之键盘事件——案例:键盘操作元素位置——案例:键盘事件组合键控制
  • 【交替方向乘子方法】ADOM: 基于ADMM的遥感图像条纹噪声去除优化模型(Matlab代码实现)
  • 一键自动化博客发布工具,用过的人都说好(简书篇)
  • mom.exe进程什么?