【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.pswp.cn/diannao/82356.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/82356.shtml
英文地址,請注明出處:http://en.pswp.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…