【HarmonyOS 5】鸿蒙中进度条的使用详解

【HarmonyOS 5】鸿蒙中进度条的使用详解

一、HarmonyOS中Progress进度条的类型

在这里插入图片描述

HarmonyOS的ArkUI框架为开发者提供了多种类型的进度条,每种类型都有其独特的样式,以满足不同的设计需求。以下是几种常见的进度条类型:

  1. 线性进度条(Linear):这是最常见的进度条样式,以直线的形式展示进度。从API version 9开始,当组件高度大于宽度时,它会自适应垂直显示;当高度和宽度相等时,保持水平显示。

  2. 环形无刻度进度条(Ring):这种进度条呈环形,通过环形圆环的逐渐填充来显示进度,默认前景色为蓝色,默认strokeWidth进度条宽度为2.0vp。

  3. 环形有刻度进度条(ScaleRing):它显示类似时钟刻度形式的进度展示效果。在头尾两端圆弧处的进度展示效果与圆形样式(Eclipse)相同,中段处的进度展示效果为矩形状长条,与线性样式相似。从API version 9开始,当刻度外圈出现重叠时,它会自动转换为环形无刻度进度条。

  4. 椭圆形进度条(Eclipse):显示类似月圆月缺的进度展示效果,从月牙逐渐变化至满月。

  5. 胶囊进度条(Capsule):头尾两端圆弧处的进度展示效果与椭圆形样式(Eclipse)相同,中段处的进度展示效果与线性样式(Linear)相同。当高度大于宽度时,它会自适应垂直显示。

三、使用ArkTS创建和设置进度条

(一)创建进度条

在ArkTS中,我们通过调用Progress接口来创建进度条。以下是创建进度条的基本语法:

Progress({ value: number, total?: number, type?: ProgressType })

(二)设置进度条样式

我们可以在创建进度条时,通过设置ProgressType枚举类型给type可选项指定不同的进度条类型,从而实现多样化的样式。以下是不同类型进度条的设置示例:

  1. 线性进度条
Progress({ value: 50, total: 100, type: ProgressType.Linear })
  1. 环形无刻度进度条
Progress({ value: 30, total: 100, type: ProgressType.Ring })
  1. 环形有刻度进度条
Progress({ value: 70, total: 100, type: ProgressType.ScaleRing })
  1. 椭圆形进度条
Progress({ value: 10, total: 100, type: ProgressType.Eclipse })
  1. 胶囊进度条
Progress({ value: 45, total: 100, type: ProgressType.Capsule })

(三)动态更新进度

进度条的关键功能之一是能够在任务执行过程中动态更新进度,以反映任务的实时进展。

在鸿蒙Progress组件中通过value和total两个属性来实现进度条得更新效果,源码如下:

其中,value用于设置初始进度值,total用于设置进度总长度,type决定Progress的样式。如果不设置type,默认使用线性进度条样式。

Progress({ value: 24, total: 100, type: ProgressType.Linear })
import prompt from '@ohos.prompt';@Entry
@Component
struct DownloadProgressBar {// 下载进度,初始值为 0@State progress: number = 0;// 下载状态提示信息@State status: string = '等待下载';// 模拟下载的函数startDownload() {// 模拟下载过程,使用 setInterval 定时更新进度let intervalId = setInterval(() => {this.progress += 10;if (this.progress >= 100) {this.status = '下载完成';clearInterval(intervalId);prompt.showToast({ message: '下载已完成' });} else {this.status = `下载中,进度: ${this.progress}%`;}}, 1000);}build() {Column({ space: 20 }) {Text('下载进度条示例').fontSize(20).fontWeight(FontWeight.Bold);Progress({ value: this.progress, total: 100 }).width('90%').height(20);Text(this.status).fontSize(16);Button('开始下载').width('60%').height(40).backgroundColor(Color.Blue).fontColor(Color.White).onClick(() => {this.startDownload();});}.width('100%').height('100%').alignItems(HorizontalAlign.Center).justifyContent(FlexAlign.Center);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/82356.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenHarmony 开源鸿蒙南向开发——linux下使用make交叉编译第三方库——gmp

准备工作 请依照这篇文章搭建环境 OpenHarmony 开源鸿蒙南向开发——linux下使用make交叉编译第三方库——环境配置_openharmony交叉编译-CSDN博客 下载 wget https://gmplib.org/download/gmp/gmp-6.3.0.tar.xz 解压 tar -xf gmp-6.3.0.tar.xzcd gmp-6.3.0/ 环境变量 e…

量化交易策略的运行

✅ 什么是“策略的运行”? 在量化交易系统中,“策略的运行”并不一定意味着“每个策略对应一个线程”,但在大多数实际实现中,确实会使用线程、任务、协程或进程等形式来实现每个策略的独立调度与执行。 “运行”意味着策略开始生…

开平机:从原理到实践的全面技术剖析

一、开平机核心模块技术解析 1. 校平辊系的力学建模与辊型设计 校平机精度核心在于辊系设计,需通过弹塑性力学模型计算变形量。典型校平辊配置参数: 辊径比:校平辊直径(D)与板材厚度(t)需满足…

2、实验室测控系统 - /自动化与控制组件/lab-monitoring-system

76个工业组件库示例汇总 实验室测控系统开发组件 这是一个专为实验室设备数据采集与分析设计的可视化测控系统组件。采用工业风格界面设计,提供了丰富的动态数据展示与分析功能,可应用于各类实验室环境中的设备监控和数据处理。 功能特点 多设备管理…

在 Kotlin 中什么是委托属性,简要说说其使用场景和原理

在 Kotlin 中,属性委托和类委托是两种通过 by 关键字实现的强大特性,它们通过“委托”机制将行为或实现逻辑委托给其他对象,从而实现代码的复用和解耦。 1 属性委托 定义: 允许把属性的 get 和 set 方法的具体实现委托给另一个对…

AI星智协脑:智能驱动的高效协作管理平台全解读

前言 想象一下:早上刚开电脑,十几条未读消息如机关枪般扫射而来,各路任务像陨石雨一样砸向你,会议排得比热播剧还密集,文档版本堪比宫斗剧剧情反转,同事围着你转圈追KPI,活脱脱一场《职场大逃杀…

Web 架构之数据读写分离

文章目录 一、引言二、数据读写分离原理2.1 基本概念2.2 工作流程 三、数据读写分离的实现方式3.1 基于中间件实现3.2 应用程序层面实现 四、常见问题及解决方法4.1 数据一致性问题4.2 从数据库负载均衡问题4.3 主从复制故障问题 五、思维导图六、总结 一、引言 在 Web应用的开…

【软件设计师:数据结构】1.数据结构基础(一)

一 线性表 1.线性表定义 线性表是n个元素的有限序列,通常记为(a1,a2,…,an)。 特点: 存在惟一的表头和表尾。除了表头外,表中的每一个元素均只有惟一的直接前驱。除了表尾外,表中的每一个元素均只有惟一的直接后继。2.线性表的存储结构 (1)顺序存储 是用一组地址连续…

实践005-Gitlab CICD全项目整合

文章目录 环境准备环境准备集成Kubernetes Gitlab CICD项目整合项目整合整合设计 后端Java项目部署后端Java项目静态检查后端Java项目镜像构建创建Java项目部署文件创建完整流水线 前端webui项目部署前端webui项目镜像构建创建webui项目部署文件创建完整流水线 构建父子类型流水…

鸿蒙开发:dialog库做了一些优化

前言 本文基于Api13 dialog库是我去年5月份开发了一个便捷弹窗库,主打一个使用简单,一经推出,在dialog领域下载量稳居在前,可以说是非常受欢迎的;但是,之前的版本仍然有着可优化的空间,比如弹窗…

Windows 10 无法启动或黑屏的修复指南(适用于更新失败或磁盘故障)

Windows 10 无法启动或黑屏的修复指南(适用于更新失败或磁盘故障) 当 Windows 10 突然无法启动(黑屏、无限重启、更新失败后断电等情况),很可能是由于启动引导程序损坏或系统映像异常(如系统磁盘出现坏道&…

MCP开发入门

MCP开发入门 官方文档: https://modelcontextprotocol.io/introduction 入门教程: https://github.com/liaokongVFX/MCP-Chinese-Getting-Started-Guide 本文源代码:https://github.com/youngqqcn/mcp-server-demo 什么是MCP? 模型上下文协议&#xff…

PX4开始之旅(二)通过自定义 MAVLink 消息与 QGroundControl (QGC) 通信

核心知识点:通过自定义 MAVLink 消息与 QGroundControl (QGC) 通信 1. 通俗易懂的解释 想象一下,MAVLink 就像是无人机(飞控)和地面站(QGroundControl)之间约定好的一种“语言”。这种语言有很多标准的“…

AI视频智能分析网关打造社区/工厂/校园/仓库智慧消防实现精准化安全管控

一、背景 随着社区、商业场所对消防安全要求日益提升,传统消防系统已难以满足智能化、精细化管理需求。智能分析网关融合物联网与人工智能技术,具备强大的数据处理与分析能力,可全面升级消防系统。将其融入消防系统各层级,搭建智…

深度学习基础--目标检测常见算法简介(R-CNN、Fast R-CNN、Faster R-CNN、Mask R-CNN、SSD、YOLO)

博主简介:努力学习的22级本科生一枚 🌟​;探索AI算法,C,go语言的世界;在迷茫中寻找光芒​🌸​ 博客主页:羊小猪~~-CSDN博客 内容简介:常见目标检测算法简介​&#x1f…

传输层协议UDP和TCP

传输层协议UDP和TCP 1、UDP2、TCP2.1、TCP协议段格式2.2、确认应答(ACK)机制2.3、超时重传机制2.4、连接管理机制2.5、理解CLOSE_WAIT状态2.6、理解TIME_WAIT状态2.7、流量控制2.8、滑动窗口2.9、拥塞控制2.10、延迟应答2.11、捎带应答2.12、面向字节流2.13、粘包问题2.14、TCP…

PMIC电源管理模块的PCB设计

目录 PMU模块简介 PMU的PCB设计 PMU模块简介 PMIC(电源管理集成电路)是现代电子设备的核心模块,负责高效协调多路电源的转换、分配与监控。它通过集成DC-DC降压/升压、LDO线性稳压、电池充电管理、功耗状态切换等功能,替代传统分…

Ubuntu 配置网络接口端点(静态 IP 地址)详细教程

在 Ubuntu 系统中,配置网络接口端点通常指的是为您的有线或无线网卡设置一个固定的 IP 地址、子网掩码、网关以及 DNS 服务器。这对于服务器或者需要稳定网络标识的设备来说非常重要。 使用 Netplan (Ubuntu 17.10 及更高版本的默认方式)使用 ifupdown (通过 /etc/…

浅聊大模型-有条件的文本生成

大家好我是木木,自从2022年11月30日OpenAI发布ChatGPT后,大模型迅速火热起来,人工智能作为当下最火的行业之一,2025年春节期间DeepSeek R1模型大火。LLM中有很多的技术,今天我们聊聊大模型-有条件的文本生成。 什么是…

华为银河麒麟 V10(ARM)系统软件部署全攻略:Redis、RabbitMQ、MySQL 等集群搭建指南

一、Redis 集群部署(主从 哨兵模式) 1. 环境准备 系统:华为银河麒麟 V10(ARM64)节点:3 台服务器(1 主 2 从 3 哨兵) 2. 安装包下载 bash # 华为镜像站 wget https://update.c…