前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Android从零单排系列十六】《Android视图控件——ProgressDialog》

【Android从零单排系列十六】《Android视图控件——ProgressDialog》

作者头像
再见孙悟空_
发布2023-07-17 20:25:59
5800
发布2023-07-17 20:25:59
举报

前言

小伙伴们,在上文中我们介绍了Android视图组件AlertDialog,本文我们继续盘点,介绍一下视图控件的ProgressDialog。

特别注意:ProgressDialog在Android API级别26中已被废弃;取而代之的是ProgressBar和自定义布局来实现进度提示和等待效果

一 ProgressDialog基本介绍

ProgressDialog是是Android平台上的一个对话框,用于显示进度信息或操作的等待状态。

二 ProgressDialog使用方法

ProgressDialog已在Android API级别26被弃用,推荐使用ProgressBar和自定义布局来代替。

若要创建一个ProgressDialog实例,可以使用ProgressDialog类的构造函数,并设置相关属性:

代码语言:javascript
复制
ProgressDialog progressDialog = new ProgressDialog(context);
progressDialog.setTitle("Title");  // 设置对话框标题
progressDialog.setMessage("Message");  // 设置对话框消息内容
progressDialog.setIcon(R.drawable.icon);  // 设置对话框图标
progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); // 设置进度条样式,包括STYLE_SPINNER(圆形旋转)和STYLE_HORIZONTAL(水平进度条)
progressDialog.setIndeterminate(true);  // 设置是否为不确定模式(即不显示具体进度)

可以使用setMax(int max)setProgress(int progress)方法设置最大进度值和当前进度值。若使用setIndeterminate(true)将其设置为不确定模式,则无需设置进度。

使用setCancelable(boolean cancelable)方法可以设置对话框是否可取消,默认为可以取消。

调用show()方法显示ProgressDialog,调用dismiss()方法关闭对话框。

若需要在ProgressDialog中显示自定义布局,可以通过setContentView(View view)方法设置自定义布局。

若要在后台线程中更新ProgressDialog的进度,需确保在UI线程中进行进度更新,可以使用runOnUiThread(Runnable action)方法或Handler来实现。

适用场景:ProgressDialog适合于在进行耗时操作时向用户展示当前进度或等待状态,以增强用户体验。

三 ProgressDialog常见方法和属性

  1. setTitle(String title):设置对话框的标题。
  2. setMessage(String message):设置对话框的消息内容。
  3. setIcon(int iconResId):设置对话框的图标,传入图标资源的ID。
  4. setProgressStyle(int style):设置进度条的样式,包括ProgressDialog.STYLE_SPINNER(圆形旋转)和ProgressDialog.STYLE_HORIZONTAL(水平进度条)。
  5. setIndeterminate(boolean indeterminate):设置是否为不确定模式(即不显示具体进度)。
  6. setMax(int max):设置进度条的最大值。
  7. setProgress(int progress):设置当前的进度值。
  8. setCancelable(boolean cancelable):设置对话框是否可取消,默认为可以取消。
  9. setCanceledOnTouchOutside(boolean canceledOnTouchOutside):设置点击对话框外部区域是否取消对话框。
  10. show():显示ProgressDialog。
  11. dismiss():关闭ProgressDialog。

四 总结

ProgressDialog已被废弃,但是以前很多老的项目有的还有这个组件,有些项目的bug也和这个有关,所以也整理了一下,建议如果搞不定,直接换ProgressBar和自定义布局。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一 ProgressDialog基本介绍
  • 二 ProgressDialog使用方法
  • 三 ProgressDialog常见方法和属性
  • 四 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档