怎么在Android中利用ProgressDialog实现一个文件上传进度条效果

发布时间:2021-02-24 16:17:21 作者:戴恩恩
来源:亿速云 阅读:283

这篇文章主要为大家详细介绍了怎么在Android中利用ProgressDialog实现一个文件上传进度条效果,文中示例代码介绍的非常详细,具有一定的参考价值,发现的小伙伴们可以参考一下:

Android是什么

Android是一种基于Linux内核的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。

ProgressDialog 继承自AlertDialog,AlertDialog继承自Dialog

public class ProgressDialog extends AlertDialog

ProgressDialog的创建方式有两种,一种是new ProgressDialog,一种是调用ProgressDialog的静态方法show()创建并显示,这种进度条只能是圆形条。

怎么在Android中利用ProgressDialog实现一个文件上传进度条效果

 ProgressDialog dialog = ProgressDialog.show(this, "提示", "正在登陆中…", true, false, null);

本文重点给大家介绍android ProgressDialog进度条转圈效果的实现。

Progress主要用来实现上传的转圈效果

由于我们想实现转圈效果,然后同步上传,则必须要用线程,所以先在最外面开个

private ProgressDialog

怎么在Android中利用ProgressDialog实现一个文件上传进度条效果

中间的代码实现过程如下:

  upPhoto.setOnClickListener(new View.OnClickListener() {
   public void onClick(View v) {
    //myDialog = ProgressDialog.show(this, "Loading...", "Please wait...", true, false);

    progressDialog=new ProgressDialog(PhotoPage.this);
    progressDialog.setTitle("This is ProgressDialog");
    progressDialog.setMessage("Loading...");
    progressDialog.setCancelable(true);
    progressDialog.show();
    new Thread(new Runnable() {
     public void run() {
      upload();
      progressDialog.dismiss();
      //myHandler.sendMessage(new Message());
     }
    }).start();
   }
  });

怎么在Android中利用ProgressDialog实现一个文件上传进度条效果

上面的几句是设置ProgressDialog转圈的效果。

下面单独开一个线程,这样app在上传的同时其它部分仍然继续运行,最后在线程结束的时候加上progressDialog dismiss()表示关闭当前转圈效果。

注意要理解线程的概念,不能把progressDialog dismiss()这句话放线程结束start();这边的后面,因为线程是同步的,主程序运行下来就直接执行线程的后面语句,所以瞬间就被关闭了,上传的转圈效果就看不到了。

以上就是亿速云小编为大家收集整理的怎么在Android中利用ProgressDialog实现一个文件上传进度条效果,如何觉得亿速云网站的内容还不错,欢迎将亿速云网站推荐给身边好友。

推荐阅读:
  1. 怎么在android中利用shape实现一个阴影边效果
  2. ProgressDialog怎么在Android中使用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

android progressdialog

上一篇:如何在Android中将网络Url资源转换为Drawable资源

下一篇:Java中转换器设计模式的作用是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》