Android 中通过实现线程更新Progressdialog (对话进度条)
作者:潘侯爷 发布时间:2023-04-16 14:57:50
标签:progressdialog,进度条
作为开发者我们需要经常站在用户角度考虑问题,比如在应用商城下载软件时,当用户点击下载按钮,则会有下载进度提示页面出现,现在我们通过线程休眠的方式模拟下载进度更新的演示,如图(这里为了截图方便设置对话进度条位于屏幕上方):
layout界面代码(仅部署一个按钮):
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下载"//真正项目时建议将文本资源统一定义配置在res下的strings.xml中
android:onClick="begin"/>
</LinearLayout>
Java代码实现(通过线程实现模拟下载进度更新):
public class ProgressBarDemo extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.progressbar);
}
public void begin(View v) {
//实例化进度条对话框(ProgressDialog)
final ProgressDialog pd = new ProgressDialog(this);
pd.setTitle("请稍等");
//设置对话进度条样式为水平
pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
//设置提示信息
pd.setMessage("正在玩命下载中......");
//设置对话进度条显示在屏幕顶部(方便截图)
pd.getWindow().setGravity(Gravity.TOP);
pd.setMax(100);
pd.show();//调用show方法显示进度条对话框
//使用匿名内部类实现线程并启动
new Thread(new Runnable() {
int initial = 0;//初始下载进度
@Override
public void run() {
while(initial<pd.getMax()){//设置循环条件
pd.setProgress(initial+=40);//设置每次完成40
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
pd.dismiss();//进度完成时对话框消失
}
}).start();
}
}
以上所述是小编给大家介绍的Android 中通过实现线程更新Progressdialog (对话进度条)网站的支持!
来源:http://www.cnblogs.com/panhouye/archive/2016/11/22/6091251.html


猜你喜欢
- 简介SpringBoot提供了HATEOAS的便捷使用方式,本文详细讲解SpringBoot提供的这些基本方法。链接LinksHATEOAS
- 一般使用过UCWEB-Android版的人都应该对其特殊的menu有一定的印象,把menu做成Tab-Menu(支持分页的Menu),可以容
- 1.POM文件导入Springboot整合websocket的依赖 <depen
- java模拟实现图书检索系统 (基础版),供大家参考,具体内容如下练习实现3个简单的功能,没有优化,可以根据需求,自行添加想要实现的功能。B
- 为什么需要 StreamStream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 Output
- Spring propagation7种事务配置1、简述在声明式的事务处理中,要配置一个切面,其中就用到了propagation,表示打算对
- 本文实例讲述了C#利用System.Uri转URL为绝对地址的方法。分享给大家供大家参考。具体分析如下:在使用ASPOSE.Word生成Wo
- 如下所示:<?xml version="1.0" encoding="utf-8" ?>
- 一、构造方法概述构造方法是一种特殊的方法作用:创建对象Student stu = new Student();格式:pucli class
- 我们经常会使用springboot创建web应用,在springboot中金静态资源是如何存放的呢?静态资源映射规则我们先创建一个sprin
- c#里面封装了几乎所有我们可以想到的和我们没有想到的类,流是读取文件的一般手段,那么你真的会用它读取文件中的数据了么?真的能读完全么?通常我
- 在网上拷贝的所有阿里云镜像比如:<mirror> <id>nexus-aliyun</id>
- 最近在研究android自定义控件属性,学到了TypedArray以及attrs。大家也可以结合《理解Android中的自定义属性》这篇文章
- 实例如下:public class ConfigOperator { #region 从配置文件获取V
- 要获得打印机的状态,应该定义一个联合.enum PrinterStatus { 其他状态= 1, 未知, 空闲
- 由于我经常下载一些pdf格式的电子书,有的时候一些好书下载下来没有书签,读起来感觉没有整体的感觉,所以决定自己写一个小工具,将特定格式的文本
- 引入pom<?xml version="1.0" encoding="UTF-8"?>&
- 本文将介绍如何在spring boot中集成ehcache作为hibernate的二级缓存。各个框架版本如下spring boot:1.4.
- MainApplication类文件的位置搭建 SpringBoot 项目时有一个主程序入口类.这个 MainApp 类必须在放在整个项目的
- 一、流程图二、Token1、token是一种客户端认证机制,是一个经过加密的字符串,安全性强,支持跨域2、用户第一次登录,服务器通过数据库校