iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android ProgressDialog进度条使用详解
  • 799
分享到

Android ProgressDialog进度条使用详解

progressdialogAndroid 2022-06-06 09:06:57 799人浏览 八月长安
摘要

进度条以一种客观化的方式,让我们知道程序正在执行的情况,在程序需要时间执行任务的时候,提示进度条友好的告诉用户说,当前任务还没有完成,请稍稍等待,进度条经常使用在APP下载应用

进度条以一种客观化的方式,让我们知道程序正在执行的情况,在程序需要时间执行任务的时候,提示进度条友好的告诉用户说,当前任务还没有完成,请稍稍等待,进度条经常使用在APP下载应用、更新应用、加载网络数据中,使用频繁,常见的进度条有ProgressDialog、ProgressBar,这里只要介绍ProgressDialog。
ProgressDialog读取文件进度解析主要涉及到一个知识:

Handler消息处理机制, 文件字节流的操作, ProgressDialog类的使用

1、Handler消息处理机制

Handler消息处理机制,接收子线程传递过来的消息,根据消息传递值,执行UI界面更新操作,目的防止阻塞主线程,使用最多的是sendEmptyMessage(int)、sendMessage(int),因为经常需要只要,所以记住第一个Handler代码的写法,后面没次都可以复制过来用,如下:


Handler handler = new Handler() { 
    @Override 
    public void handleMessage(Message msg) { 
      switch (msg.what) { 
      case 110://根据what值,执行UI更新操作 
        progressValue += msg.arg1; 
        sb.append(msg.obj); 
        mTextView.setText(sb.toString());//TextView显示读取内容 
        mDialog.setProgress(progressValue);//设置进度条当前值 
        if (progressValue == 100) {//判读是否读取结束 
          mDialog.dismiss(); 
          Toast.makeText(MainActivity.this, "读取完成!", Toast.LENGTH_SHORT).show(); 
        } 
        break; 
      } 
    } 
  }; 

2、文件字节流的操作

输入输出流的内容,看来也不是想象中的那么难,在《Java面向对象程序设计》一书中分为:File类、文件字节流、文件字符流、缓冲流、文件对话框、随机流、数组流、数据流带进度条的输入流、对象流,经常会忘记它们对应的类,使用起来容易混乱,下面分别写一个简单例子:

1)、File类


File path = Environment.getExternalStorageDirectory();//获取sdcard根路径 
File file = new File(path + "/ProgreSSMonitor.txt");//读取根路径下的ProgressMonitor文件 

2)、文件字节流


private void readFromFile(String path) { 
    FileInputStream fis; 
    DataInputStream dis; 
    try { 
      fis = new FileInputStream(path); 
      dis = new DataInputStream(fis); 
      byte b[] = new byte[10];// 每次读取10字节 
      while ((readed = dis.read(b)) != -1) { 
        Message msg = new Message(); 
        String str=new String(b,0,readed); 
        msg.obj=str; 
        msg.arg1 = readed; 
        msg.what = 110; 
        handler.sendMessage(msg); 
        try { 
          Thread.sleep(1000); 
        } catch (Exception e) { 
          e.printStackTrace(); 
        } 
      } 
    } catch (FileNotFoundException e) { 
      e.printStackTrace(); 
    } catch (IOException e) { 
      e.printStackTrace(); 
    }finally { 
      try { 
        dis.close(); 
        fis.close(); 
      } catch (IOException e) { 
        // TODO Auto-generated catch block 
        e.printStackTrace(); 
      } 
    } 
  } 

3、ProgressDialog的使用

ProgressDialog继承AlertDialog,AlertDialog继承Dialog,常用的属性有:


mDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);/进度条样式 
mDialog.setMax(100);//进度条最大值 
mDialog.setTitle("系统提示");//进度条标题 
mDialog.setIcon(R.drawable.ic_launcher);//进度条图标 
mDialog.setMessage("正在读取文件,请稍等。。。");//进度条提示信息 
mDialog.setProgress(progressValue);//进度条当前值 
mDialog.dismiss();//进度条消失 

完整代码:


private static final int STYLE_HORIZONTAL = 110; 
private static final int STYLE_SPINNER = 111; 
private void progressDialogStyle(int id) { 
    switch (id) { 
    case STYLE_SPINNER: 
      mDialog = new ProgressDialog(this, ProgressDialog.STYLE_SPINNER); 
      break; 
    case STYLE_HORIZONTAL: 
      mDialog = new ProgressDialog(this); 
      mDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); 
      break; 
    default: 
      break; 
    } 
    mDialog.setMax(100); 
    mDialog.setTitle("系统提示"); 
    mDialog.setIcon(R.drawable.ic_launcher); 
    mDialog.setMessage("正在读取文件,请稍等。。。"); 
  } 

ProgressDialog类可以制作平时常见的进度条效果,如果需要更多进度条式样,可以重写ProgressDialog提供的方法或者继承AlertDialog自定义样式。

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


--结束END--

本文标题: Android ProgressDialog进度条使用详解

本文链接: https://www.lsjlt.com/news/25696.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

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

下载Word文档
猜你喜欢
  • Android ProgressDialog的实例详解
    Android ProgressDialog的实例详解当自己做一些耗时操作时,希望给用户一些提示信息,告诉用户正在进行耗时操作,这时就可以用到ProgressDialog。1.新建一个全局变量ProgressDialogprivate Pr...
    99+
    2023-05-30
    android progressdialog gr
  • 进度条ProgressBar及ProgressDialog的示例分析
    这篇文章将为大家详细讲解有关进度条ProgressBar及ProgressDialog的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。废话不多说,直接上代码Main代码package p...
    99+
    2023-05-31
    progressbar progressdialog
  • Android 基础知识4-3.7 ProgressBar(进度条)详解
    一、简介         ProgressBar(进度条)是UI界面中一种非常实用的组件,通常用于向用户像是某个耗时操作完成的百分比。进度条可动态地显示进度,因此避免长时间地执行某个操作时,让用户感觉程序失去了响应,从而更好地提高用户界面的...
    99+
    2023-09-14
    android studio android 学习
  • Android中的进度条ProgressDialo怎么使用
    在Android中使用ProgressDialog显示进度条可以按照以下步骤进行:1. 创建ProgressDialog对象:```...
    99+
    2023-08-30
    Android
  • ProgressDialog用法详解
    ProgressDialog是一种在Android中常用的对话框,用于显示一个长时间运行的任务的进度。ProgressDialog可...
    99+
    2023-09-14
    详解
  • Android 之 ProgressBar (进度条)
    本节引言: 本节给大家带来的是Android基本UI控件中的ProgressBar(进度条),ProgressBar的应用场景很多,比如 用户登录时,后台在发请求,以及等待服务器返回信息,这个时候会用到进度条;或者当在进行一些比较 耗时的操...
    99+
    2023-09-02
    android ui java
  • Python进度条tqdm的用法详解
    前言 有时候在使用Python处理比较耗时操作的时候,为了便于观察处理进度,这时候就需要通过进度条将处理情况进行可视化展示,以便我们能够及时了解情况。这对于第三方库非常丰富的Pyth...
    99+
    2024-04-02
  • 如何在Python中妥善使用进度条详解
    目录1 简介2 tqdm常用方法2.1 基础用法2.2 配合jupyter notebook/jupyter lab的美观进度条2.3 配合pandas中的apply3 alive-...
    99+
    2024-04-02
  • 怎么在Android中使用progressbar进度条控件
    怎么在Android中使用progressbar进度条控件?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1)进度条ProgressBar使用方法在layout布...
    99+
    2023-05-30
    android progressbar
  • Android怎么自定义ProgressDialog使用
    要自定义ProgressDialog,可以按照以下步骤进行操作:1. 首先,创建一个新的类来扩展ProgressDialog类。例如...
    99+
    2023-08-09
    Android ProgressDialog
  • 详解Android如何自定义view实现圆形进度条
    Android中实现进度条有很多种方式,自定义进度条一般是继承progressBar或继承view来实现,本篇中讲解的是第二种方式。 先上效果图: 实现圆形进度条总体来说并不难,还...
    99+
    2024-04-02
  • Python进度条的使用
    在使用Python处理比较耗时操作的时候,为了便于观察处理进度,就需要通过进度条将处理情况进行可视化展示,以便我们能够及时了解情况。这对于第三方库非常丰富的Python来说,并不是什...
    99+
    2024-04-02
  • Android怎么实现进度条
    在Android中可以通过ProgressBar控件来实现进度条的显示和更新。下面是一个简单的例子,演示了如何在Android中使用...
    99+
    2023-08-12
    Android
  • 如何使用Android实现文件解压带进度条功能
    这篇文章给大家分享的是有关如何使用Android实现文件解压带进度条功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。解压的工具类package com.example.videodemo.zip;&n...
    99+
    2023-05-30
    android
  • Android可拖动的进度条:SeekBar之简单使用
    SeekBar是Android中常见的可拖动的进度条控件,可以用于控制音量、亮度、播放进度等。在使用SeekBar之前,需要先在布局...
    99+
    2023-08-22
    android
  • vue视频时间进度条组件使用方法详解
    本文实例为大家分享了vue视频时间进度条组件的使用方法,供大家参考,具体内容如下 有些视频是以视频流的形式进行渲染的,没有视频滚动条,所以就写了24h的时间组件 实现思路: 1、...
    99+
    2024-04-02
  • 五分了解Android Progress Bar进度条加载
    目录1、前言2、ProgressBar3、SeekBar4、结尾1、前言 最近在开发中,同事对于android.widget下的控件一知半解,又恰好那天用到了Seekbar,想了想...
    99+
    2023-02-07
    Android Progress Bar Android 进度条加载
  • Android如何实现pk进度条
    要实现Android上的PK进度条,可以使用ProgressBar控件来实现。以下是一个简单的示例:1. 在XML布局文件中添加Pr...
    99+
    2023-08-12
    Android
  • Android Studio实现进度条效果
    本文实例为大家分享了Android Studio实现进度条效果的具体代码,供大家参考,具体内容如下 实验作业 要求一个进度条,进度随机 效果图 xml代码 <?x...
    99+
    2024-04-02
  • Android Canva实现渐变进度条
    目录前言1、拆分2、绘制圆环3、我要圆圆的头4、渐变来啦5、不能严丝合缝?逼死强迫症6、治理调皮的小圆前言 标题说渐变进度条是为了方便理解,这里本身的项目背景是一款表盘的分针。 先上...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作