在layout下的activity_main中:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:orientation="vertical"android:layout_height="match_parent"tools:context=".Main5Activity"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"/>
<!--    定义大环形进度条--><ProgressBarandroid:layout_width="wrap_content"android:layout_height="wrap_content"style="@android:style/Widget.ProgressBar.Large"/>
<!--    定义中等环形进度条--><ProgressBarandroid:layout_width="wrap_content"android:layout_height="wrap_content"/>
<!--    定义小环形进度条--><ProgressBarandroid:layout_width="wrap_content"android:layout_height="wrap_content"style="@android:style/Widget.ProgressBar.Small"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="任务完成进度条"android:textSize="24dp"/>
<!--    定义水平进度条--><ProgressBarandroid:id="@+id/bar"android:layout_width="match_parent"android:layout_height="wrap_content"android:max="100"style="@android:style/Widget.ProgressBar.Horizontal"/>
<!--    定义水平进度条,改变轨道外观--><ProgressBarandroid:id="@+id/bar2"android:layout_width="match_parent"android:layout_height="wrap_content"android:max="100"android:progressDrawable="@drawable/c4"style="@android:style/Widget.ProgressBar.Horizontal"/>
</LinearLayout>

在drawable下的文件下的my_bar中:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"><!--        定义轨道的背景--><item android:id="@android:id/background"android:drawable="@drawable/c4"/>
<!--    定义已完成部分的样式--><item android:id="@android:id/progress"android:drawable="@drawable/c2"/>
</layer-list>

在MainActivity.java中:

package com.example.test03;import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.ProgressBar;import java.lang.ref.WeakReference;public class Main5Activity extends AppCompatActivity {//    该模拟填充长度为100的数组private int[] data=new int[100];private int hasdata=0;
//    记录ProgressBar的完成进度int status=0;private ProgressBar bar;private ProgressBar bar2;static class MyHandler extends Handler{private WeakReference<Main5Activity> activity;MyHandler(WeakReference<Main5Activity> activity){this.activity=activity;}@Overridepublic void handleMessage(@NonNull Message msg) {//            表明该消息是该程序发送的if (msg.what==0x111){activity.get().bar.setProgress(activity.get().status);activity.get().bar2.setProgress(activity.get().status);}}}
//    负责更新进度MyHandler myHandler=new MyHandler(new WeakReference<>(this));@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main5);bar=findViewById(R.id.bar);bar2=findViewById(R.id.bar2);
//        启动线程在执行进度new Thread(){@Overridepublic void run() {while (status<100){//                    获取耗时操作的完成百分比status=doWork();
//                    发送消息myHandler.sendEmptyMessage(0x111);}}}.start();}
//    模拟耗时操作public int doWork() {//        为数组元素赋值data[hasdata++] = (int) (Math.random() * 100);try {Thread.sleep(1000);} catch (InterruptedException e) {e.printStackTrace();}return hasdata;}
}

抖音短视频APP开发进度条(ProgressBar)的功能与用法相关推荐

  1. IOS抖音短视频APP开发关于扫描二维码,并根据文本生成二维码

    IOS抖音短视频APP开发关于扫描二维码,(根据光线强弱显示隐藏闪光灯)并根据文本生成二维码. WeakSelf; //IOS抖音短视频APP开发构建扫描样式视图 _scanView = [[WSLS ...

  2. 抖音短视频APP开发如何生成二维码?

    授权转载自云豹网络科技的CSDN博客 原文链接:https://blog.csdn.net/yb1314111/article/details/101283985 IOS抖音短视频APP开发关于扫描二 ...

  3. 抖音短视频APP开发通过三种方式绘制图片

    (一)ImageView绘制图片 (1)将图片分别放入mipmap-hdpi.assets (2)布局文件: <?xml version="1.0" encoding=&qu ...

  4. 抖音短视频APP开发逻辑翻页与物理翻页

    逻辑翻页与物理翻页的区别 逻辑分页-假分页:将数据全部加载到内存,根据rowBound里面的偏移量,和条数,将偏移量之前的都去掉,只去从偏移量开始后指定数量的那一部分: 物理分页- 真分页:将分页信息 ...

  5. 如何开发仿抖音短视频APP源码?

    如何开发仿抖音短视频APP源码? 流程列表 开发一个短视频最主要的流程分为 3 个,下面我将分步教你实现这 3 个流程下的各个功能点,功能点 API 可按需调用: 视频拍摄 a.启动拍摄 b.给拍摄添 ...

  6. 抖音短视频APP——产品体验报告

    本文是抖音短视频APP的一份产品体验报告,主要从体验环境.市场概况.产品概况.目标用户人群.产品架构图.主要功能分析.交互体验.视觉设计和优化建议这九个方面进行阐述. 本文是本人入门产品经理的一份练习 ...

  7. 原生Java高仿抖音短视频APP双端源码

    简介: 从别的网站199购买的原生Java高仿抖音短视频APP双端源码,免费给大家~ 源码未测试,java开发,上手有难度,小白童鞋请勿瞎捣鼓. 安卓语言是:android stdio 苹果语言是:O ...

  8. 仿抖音短视频APP源码如何开发抖音类似特效

    仿抖音短视频APP源码如何开发抖音类似特效 1.特效概览 特效列表 特效列表 2.『灵魂出窍』 抖音的实现效果如下: 灵魂出窍 我的实现效果如下: ezgif.com-rotate.gif 代码实现 ...

  9. 仿抖音短视频APP源码,顶部导航栏切换详解

    仿抖音短视频APP源码,顶部导航栏切换详解的相关代码 class DaoHangNan extends StatefulWidget //继承StatefulWidget{TabController ...

最新文章

  1. asmlib方式管理oracle asm环境下,新加存储需特别注意
  2. Failed to bind NettyServer on /192.168.**.*:20880, cause: Failed to bind to: /0.0.0.0:20880
  3. python如何操作excel 基础代码
  4. java确认rabbitmq_RabbitMQ的消息确认模式
  5. 大学英语计算机开学考试试题,2018年全国大学英语四级考试阅读理解试题:学习计算机...
  6. 互联网金融监管平台、舆情监测、数据统计、预警、违规、企业中心、舆情概况、舆情报告、新增企业、栏目管理、年审企业、企业走势、推价位管理、新闻管理、账户管理、监管平台、金融监管、Axure原型、rp原型
  7. [论文阅读] Learning Without Forgetting
  8. iOS常识名词解释 2016/04/05
  9. 在virtualbox上安装64位centos7和virtual增强工具以及设置共享文件夹
  10. chromedriver 下载_解决ChromeDriver安装与配置问题
  11. 机器学习-DBSCAN密度聚类
  12. 物联网智能硬件解析之万能空调遥控器实现 Ardunio_通过红外线发射灯遥控空调
  13. [ERROR] InnoDB: Write to file (merge)failed at offset 4249878528, 1048576 bytes should have been wri
  14. nmap识别TCP端口服务的数据库
  15. IP探测实现 ARP与设备发现
  16. 瑞利分布(Rayleigh Distribution)回顾
  17. 华为3Com总裁郑树生:我们最终要自立门户
  18. Git 修改历史 commit 提交信息
  19. java caller_JavaScript中callee和caller的区别与用法实例分析
  20. 【Git】版本控制管理(第二版) 前言 第一章 第二章

热门文章

  1. 猫眼、淘票票环伺 豆瓣影评危机被指公信力下降
  2. KeepAlived,keepalive,keep-alive--简析
  3. 12306ByPass抢票短信提醒
  4. 隐私保护与数据安全的区别_如何在安全工程领域找到一份工作:安全,信任和隐私之间有什么区别?...
  5. 剑指offer(7)——C++实现菲波那切数列
  6. Spring中的HttpEntity
  7. 蓝凌/一个完整的Java开发实习生面试
  8. stm32cubeIDE的使用
  9. 射频电路与天线(华南理工金品公开课)学习笔记--绪论
  10. 「社区说」第三期即将开启,一起来和谷歌开发者专家聊聊 Kotlin 协程