我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android ProgressDialog使用总结

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android ProgressDialog使用总结

ProgressDialog 继承自AlertDialog,AlertDialog继承自Dialog,实现DialogInterface接口。

ProgressDialog的创建方式有两种,一种是new Dialog ,一种是调用Dialog的静态方法Dialog.show()。


// 方式一:new Dialog 
final ProgressDialog dialog = new ProgressDialog(this); 
dialog.show(); 
// 方式二:使用静态方式创建并显示,这种进度条只能是圆形条,设置title和Message提示内容 
ProgressDialog dialog2 = ProgressDialog.show(this, "提示", "正在登陆中"); 
// 方式三 使用静态方式创建并显示,这种进度条只能是圆形条,这里最后一个参数boolean indeterminate设置是否是不明确的状态 
ProgressDialog dialog3 = ProgressDialog 
.show(this, "提示", "正在登陆中", false); 
// 方式四 使用静态方式创建并显示,这种进度条只能是圆形条,这里最后一个参数boolean cancelable 设置是否进度条是可以取消的 
ProgressDialog dialog4 = ProgressDialog.show(this, "提示", "正在登陆中", 
false, true); 
// 方式五 使用静态方式创建并显示,这种进度条只能是圆形条,这里最后一个参数 DialogInterface.OnCancelListener 
// cancelListener用于监听进度条被取消 
ProgressDialog dialog5 = ProgressDialog.show(this, "提示", "正在登陆中", true, 
true, cancelListener); 

方式五中需要一个cancelListener,代码如下;


private OnCancelListener cancelListener = new OnCancelListener() { 
@Override 
public void onCancel(DialogInterface dialog) { 
// TODO Auto-generated method stub 
Toast.makeText(MainActivity.this, "进度条被取消", Toast.LENGTH_LONG) 
.show(); 
} 
}; 

ProgressDialog的样式有两种,一种是圆形不明确状态,一种是水平进度条状态

第一种方式:圆形进度条


final ProgressDialog dialog = new ProgressDialog(this); 
dialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);// 设置进度条的形式为圆形转动的进度条 
dialog.setCancelable(true);// 设置是否可以通过点击Back键取消 
dialog.setCanceledOnTouchOutside(false);// 设置在点击Dialog外是否取消Dialog进度条 
dialog.setIcon(R.drawable.ic_launcher);// 
// 设置提示的title的图标,默认是没有的,如果没有设置title的话只设置Icon是不会显示图标的 
dialog.setTitle("提示"); 
// dismiss监听 
dialog.setOnDismissListener(new DialogInterface.OnDismissListener() { 
@Override 
public void onDismiss(DialogInterface dialog) { 
// TODO Auto-generated method stub 
} 
}); 
// 监听Key事件被传递给dialog 
dialog.setOnKeyListener(new DialogInterface.OnKeyListener() { 
@Override 
public boolean onKey(DialogInterface dialog, int keyCode, 
KeyEvent event) { 
// TODO Auto-generated method stub 
return false; 
} 
}); 
// 监听cancel事件 
dialog.setOnCancelListener(new DialogInterface.OnCancelListener() { 
@Override 
public void onCancel(DialogInterface dialog) { 
// TODO Auto-generated method stub 
} 
}); 
//设置可点击的按钮,最多有三个(默认情况下) 
dialog.setButton(DialogInterface.BUTTON_POSITIVE, "确定", 
new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
// TODO Auto-generated method stub 
} 
}); 
dialog.setButton(DialogInterface.BUTTON_NEGATIVE, "取消", 
new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
// TODO Auto-generated method stub 
} 
}); 
dialog.setButton(DialogInterface.BUTTON_NEUTRAL, "中立", 
new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
// TODO Auto-generated method stub 
} 
}); 
dialog.setMessage("这是一个圆形进度条"); 
dialog.show(); 
new Thread(new Runnable() { 
@Override 
public void run() { 
// TODO Auto-generated method stub 
try { 
Thread.sleep(5000); 
// cancel和dismiss方法本质都是一样的,都是从屏幕中删除Dialog,唯一的区别是 
// 调用cancel方法会回调DialogInterface.OnCancelListener如果注册的话,dismiss方法不会回掉 
dialog.cancel(); 
// dialog.dismiss(); 
} catch (InterruptedException e) { 
// TODO Auto-generated catch block 
e.printStackTrace(); 
} 
} 
}).start(); 

其中通过Thread.sleep(5000)模拟后台操作。

cancel和dismiss方法本质都是一样的,都是从屏幕中删除Dialog,唯一的区别是:调用cancel方法会回调DialogInterface.OnCancelListener如果注册的话,dismiss方法不会回掉。

第二种方式:水平进度条


// 进度条还有二级进度条的那种形式,这里就不演示了 
final ProgressDialog dialog = new ProgressDialog(this); 
dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);// 设置水平进度条 
dialog.setCancelable(true);// 设置是否可以通过点击Back键取消 
dialog.setCanceledOnTouchOutside(false);// 设置在点击Dialog外是否取消Dialog进度条 
dialog.setIcon(R.drawable.ic_launcher);// 设置提示的title的图标,默认是没有的 
dialog.setTitle("提示"); 
dialog.setMax(100); 
dialog.setButton(DialogInterface.BUTTON_POSITIVE, "确定", 
new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
// TODO Auto-generated method stub 
} 
}); 
dialog.setButton(DialogInterface.BUTTON_NEGATIVE, "取消", 
new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
// TODO Auto-generated method stub 
} 
}); 
dialog.setButton(DialogInterface.BUTTON_NEUTRAL, "中立", 
new DialogInterface.OnClickListener() { 
@Override 
public void onClick(DialogInterface dialog, int which) { 
// TODO Auto-generated method stub 
} 
}); 
dialog.setMessage("这是一个水平进度条"); 
dialog.show(); 
new Thread(new Runnable() { 
@Override 
public void run() { 
// TODO Auto-generated method stub 
int i = 0; 
while (i < 100) { 
try { 
Thread.sleep(200); 
// 更新进度条的进度,可以在子线程中更新进度条进度 
dialog.incrementProgressBy(1); 
// dialog.incrementSecondaryProgressBy(10)//二级进度条更新方式 
i++; 
} catch (Exception e) { 
// TODO: handle exception 
} 
} 
// 在进度条走完时删除Dialog 
dialog.dismiss(); 
} 
}).start(); 

关于Android ProgressDialog使用总结的相关知识就给大家介绍到这里,后续还会持续更新,请持续关注编程网网站,谢谢!

您可能感兴趣的文章:实例详解Android自定义ProgressDialog进度条对话框的实现Android自定义ProgressDialog进度等待框Android ProgressBar进度条和ProgressDialog进度框的展示DEMOAndroid 自定义ProgressDialog进度条对话框用法详解Android 中通过实现线程更新Progressdialog (对话进度条)Android ProgressDialog进度条使用详解Android编程实现加载等待ProgressDialog的方法android自定义ProgressDialog加载效果Android自定义ProgressDialog加载图片Android开发之ProgressDialog进度对话框用法示例


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android ProgressDialog使用总结

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android ProgressDialog使用总结

ProgressDialog 继承自AlertDialog,AlertDialog继承自Dialog,实现DialogInterface接口。 ProgressDialog的创建方式有两种,一种是new Dialog ,一种是调用Dialo
2022-06-06

Android ProgressDialog进度条使用详解

进度条以一种客观化的方式,让我们知道程序正在执行的情况,在程序需要时间执行任务的时候,提示进度条友好的告诉用户说,当前任务还没有完成,请稍稍等待,进度条经常使用在APP下载应用、更新应用、加载网络数据中,使用频繁,常见的进度条有Progre
2022-06-06

Android怎么自定义ProgressDialog使用

要自定义ProgressDialog,可以按照以下步骤进行操作:1. 首先,创建一个新的类来扩展ProgressDialog类。例如,创建一个名为CustomProgressDialog的类。```javapublic class Cust
2023-08-09

android中ProgressDialog与ProgressBar的使用详解

一 、ProgressDialogProgressDialog与ProgressBar在UI中动态显示一个加载图标显示程序运行状态。ProgressDialog是继承自Android.app.ProgressDialog所设计的互动对话窗口
2022-06-06

Android ViewPager 的使用总结

在一个窗口里面添加tab便签,完成便签切换来实现页面的切换,这样的好处是可以在同一个窗口里面有多个页面,这些页面共享同一个窗口的资源,同使用多个窗口来实现这个功能来得更加流畅!! 主要产生的类文件有activity,n个view,adapt
2022-06-06

android Retrofit2+okHttp3使用总结

使用前准备Build.gradle文件配置dependencies配置compile 'com.squareup.retrofit2:retrofit:2.0.0'compile 'com.squareup.retrofit2:conver
2023-05-31

android WebView组件使用总结

浏览器控件是每个开发环境都具备的,这为马甲神功提供了用武之地,windows的有webbrowser,android和ios都有webview。只是其引擎不同,相对于微软的webbrowser,android及ios的webview的引擎都
2022-06-06

android Retrofit2+okHttp3使用总结

使用前准备 Build.gradle文件配置 dependencies配置compile 'com.squareup.retrofit2:retrofit:2.0.0' compile 'com.squareup.retrofit2:con
2022-06-06

Android Notification使用方法总结

Android Notification使用方法总结一. 基本使用1.构造notification NotificationCompat.Builder mBuilder = new NotificationCompat.Builder(a
2023-05-30

详解android shape的使用总结

shape用于设定形状,可以在selector,layout等里面使用,有6个子标签,各属性如下: 2022-06-06

Android onCreateOptionsMenu的使用方法总结

Android onCreateOptionsMenu的使用方法总结任何一款软件都少不了对“菜单”的使用。在Android下,每一个activity都捆绑了一个Menu,要想定义和使用菜单,都必须在Activity下进行操作,复写onCre
2023-05-30

Android WebView的使用方法总结

Android WebView的使用方法 Android app打开H5页一般要实现如下需求:1、打开指定url网页;2、点击链接可以跳转到下一页,并更新标题;3、按back键或左箭头可以返回上一页;4、当webview显示的是第一级u
2023-05-30

Android开发笔记 Handler使用总结

一、Handler的定义: 主要接受子线程发送的数据, 并用此数据配合主线程更新UI. 解释: 当应用程序启动时,Android首先会开启一个主线程 (也就是UI线程) , 主线程为管理界面中的UI控件,进行事件分发, 比如说, 你要是
2022-06-06

Android程序开发之WebView使用总结

前言:今天修改项目中一个有关WebView使用的bug,激起了我总结WebView的动机,今天抽空做个总结。使用场景:1.)添加权限2022-06-06

Android中使用自定义ViewGroup的总结

分类 自定义Layout可以分为两种情况。自定义ViewGroup,创造出一些不同于LinearLayout,RelativeLayout等之类的ViewGroup。比如:API 14以后增加的GridLayout、design suppo
2022-06-06

Android应用测试总结

Android应用程序测试注意要点:1、应用程序功能是否都实现2、给用户的提示信息是否简单、易于理解,且符合当前事件3、交互性事件的影响:(1)硬件:USB插拔、电池没电及插拔;(2)软件:电话来电、短信、QQ,音乐盒等后台运行的软件。4、
2022-06-06

Android中Glide库的使用小技巧总结

简介在泰国举行的谷歌开发者论坛上,谷歌为我们介绍了一个名叫 Glide 的图片加载库,作者是bumptech。这个库被广泛的运用在google的开源项目中,包括2014年google I/O大会上发布的官方app。https://githu
2023-05-30

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录