当前位置: 首页 > 编程笔记 >

Android 中通过实现线程更新Progressdialog (对话进度条)

薛涛
2023-03-14
本文向大家介绍Android 中通过实现线程更新Progressdialog (对话进度条),包括了Android 中通过实现线程更新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 (对话进度条),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!

 类似资料:
  • 问题内容: 我正在尝试制作一个可以帮助我评估从Web资源下载文件的时间的应用程序。我发现了2个样本: 使用Android下载文件,并在ProgressDialog中显示进度 和 http://www.helloandroid.com/tutorials/how-download-fileimage-url- 您的设备 第二个示例显示了较小的下载时间,但是我不明白如何使用它来更新进度对话框。我认为在

  • 我有一个通过互联网下载文件的应用程序。应用程序开始下载,但不知道如何显示进度条。以下适配器类: 以下是下载文件的类: 现在我卡住了如何更新进度条!任何想法

  • 本文向大家介绍android中DownloadManager实现版本更新,监听下载进度实例,包括了android中DownloadManager实现版本更新,监听下载进度实例的使用技巧和注意事项,需要的朋友参考一下 DownloadManager简介 DownloadManager是Android 2.3(API level 9)用系统服务(Service)的方式提供了DownloadManage

  • 本文向大家介绍WPF实现进度条实时更新效果,包括了WPF实现进度条实时更新效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了WPF实现一个实时更新的进度条,供大家参考,具体内容如下 效果图 xaml代码 后台代码 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。 

  • 本文向大家介绍Android实现简洁的APP更新dialog数字进度条,包括了Android实现简洁的APP更新dialog数字进度条的使用技巧和注意事项,需要的朋友参考一下 前言:现在一般的Android软件都是需要不断更新的,当你打开某个app的时候,如果有新的版本,它会提示你有新版本需要更新。当有更新时,会弹出一个提示框,点击下载,则在通知来创建一个数字进度条进行下载,下载成功后才到安装界面

  • 本文向大家介绍Android通过继承Binder类实现多进程通信,包括了Android通过继承Binder类实现多进程通信的使用技巧和注意事项,需要的朋友参考一下 AIDL的底层是通过Binder进行通信的,通过追踪.aidl编译后自动生成的文件我们知道,文件中的Stub类用于服务端,Proxy类用于客户端调用,那么可否直接通过继承Binder类实现多进程通信呢?下面就来试一试。 效果图: 服务端