当前位置: 首页 > news >正文

HarmonyOS 6 Progress 组件 - 设置线性进度条和胶囊进度条属性

文章目录

    • Progress 组件基础概述
    • 核心依赖与导入
    • 线性进度条(ProgressType.Linear)
      • 1. 作用
      • 2. 核心代码(对应示例)
      • 3. 关键属性说明
      • 4. 渐变颜色配置
    • 胶囊进度条(ProgressType.Capsule)
      • 1. 作用
      • 2. 核心代码(对应示例)
      • 3. 关键属性说明
      • 4. 渐变颜色配置
      • 5 完整代码
    • 总结

Progress 组件基础概述

Progress是HarmonyOS提供的进度指示器组件,用于直观展示任务加载、操作完成的进度状态,支持线性、胶囊、环形、仪表盘等多种类型。
本文重点讲解Linear(线性)Capsule(胶囊)两种最常用的进度条类型,包含宽度、进度值、描边粗细、渐变颜色等核心属性配置。

核心依赖与导入

使用Progress组件无需额外手动导入,HarmonyOS ArkTS框架已内置该基础组件,直接在.ets文件中调用即可;
配置渐变颜色需使用框架内置的LinearGradient类,用于定义线性渐变色彩方案。

线性进度条(ProgressType.Linear)

1. 作用

展示水平直线型进度条,适用于文件下载、数据加载、任务进度等常规场景。

2. 核心代码(对应示例)

Progress({ value: 70, total: 100, type: ProgressType.Linear }) .width(100) // 进度条宽度 .style({ strokeWidth: 20 }) // 进度条描边粗细 .color(this.gradientColor) // 进度条渐变颜色

3. 关键属性说明

属性/参数类型含义示例值
valuenumber当前进度值70
totalnumber进度总数值(最大值)100
typeProgressType进度条类型ProgressType.Linear(线性)
.width()Length进度条整体宽度100(单位:vp)
.style({ strokeWidth }){strokeWidth: number}进度条描边(高度)20(单位:vp)
.color()LinearGradient/ResourceColor进度条填充颜色自定义渐变对象

4. 渐变颜色配置

通过LinearGradient类定义线性渐变,参数为数组,包含两个核心配置:

  • color:渐变节点颜色(十六进制色值)
  • offset:渐变偏移量(取值范围0~1,控制渐变位置)
// 线性进度条渐变颜色定义 private gradientColor: LinearGradient = new LinearGradient([ { color: "#87BDF9", offset: 0.5 }, // 50%位置为浅蓝色 { color: "#3662F0", offset: 1.0 } // 100%位置为深蓝色 ])

胶囊进度条(ProgressType.Capsule)

1. 作用

展示两端为圆角的胶囊型进度条,视觉更柔和,适用于轻量化进度展示、状态指示等场景。

2. 核心代码(对应示例)

Progress({ value: 50, total: 100, type: ProgressType.Capsule }) .width(120).style({ strokeWidth: 40 }) .color(this.gradientColor2)

3. 关键属性说明

胶囊进度条继承线性进度条所有属性,唯一区别为类型为ProgressType.Capsule,额外特性:

  • 自动将进度条两端渲染为圆角(无需手动配置圆角属性);
  • strokeWidth同时控制胶囊的高度,数值越大,胶囊越粗。

4. 渐变颜色配置

与线性进度条语法一致,通过LinearGradient自定义灰色系渐变:

// 胶囊进度条渐变颜色定义 public gradientColor2: LinearGradient = new LinearGradient([ { color: "#A5A5AF", offset: 0.5 }, // 50%位置为浅灰色 { color: "#67666C", offset: 1.0 } // 100%位置为深灰色 ])

5 完整代码

// xxx.ets @Entry @Component struct ProgressExample { private gradientColor: LinearGradient = new LinearGradient([{ color: "#87BDF9", offset: 0.5 }, { color: "#3662F0", offset: 1.0 }]) public gradientColor2: LinearGradient = new LinearGradient([{ color: "#A5A5AF", offset: 0.5 }, { color: "#67666C", offset: 1.0 }]) build() { Column({ space: 15 }) { Text('Linear:').fontSize(9).fontColor(0xCCCCCC).width('90%') Progress({ value: 70, total: 100, type: ProgressType.Linear }) .width(100).style({ strokeWidth: 20 }) .color(this.gradientColor) Text('Capsule:').fontSize(9).fontColor(0xCCCCCC).width('90%') Progress({ value: 50, total: 100, type: ProgressType.Capsule }) .width(120).style({ strokeWidth: 40 }) .color(this.gradientColor2) }.width('100%').padding({ top: 5 }) } }

运行效果如图:

总结

示例代码为标准ArkTS组件结构,核心分为数据定义UI构建两部分:

  1. 变量定义:声明两个LinearGradient渐变颜色对象,分别用于线性、胶囊进度条;
  2. UI构建:使用Column容器垂直布局,搭配Text标签说明,依次渲染两种进度条;
  3. 通用样式:设置间距、宽度、内边距,保证布局美观。
  4. 单位规范:宽度、描边粗细默认单位为vp(鸿蒙标准像素单位),无需手动标注;
  5. 颜色配置:支持纯色(如#FFFFFF)和渐变(LinearGradient),渐变必须通过框架类创建;
  6. 进度值范围value建议不超过total,超出后进度条会显示为100%状态;
  7. 类型约束ProgressType为枚举类型,仅支持框架定义的类型(Linear/Capsule等);
  8. 权限说明Progress为基础组件,无需申请额外权限,全设备通用。

如果这篇文章对你有帮助,欢迎点赞、收藏、关注,你的支持是持续创作的动力

http://www.jsqmd.com/news/728841/

相关文章:

  • Swoole协程+LLM流式响应落地实践(企业级高并发长连接架构白皮书)
  • 从曼德拉的菜园到你的代码:如何用‘园艺思维’管理你的技术项目(附GitHub实战)
  • Tidyverse 2.0升级后report生成失败?3大隐性兼容性陷阱+5步回滚验证流程全公开
  • 如何用开源AIOps平台Keep终结告警风暴,实现智能运维自动化
  • 新版小学初中课标:义务教育课程方案和各科课程标准(2025年修订版)
  • 从追剧到做视频:硬字幕、软字幕、外挂字幕,选对能让你的作品传播力翻倍
  • 流形优化在LLM训练中的创新应用与Mano优化器解析
  • HarmonyOS 6 QRCode 组件使用文档
  • 岩土力学微观探索:蓝光3D扫描在断面粗糙度分析中的应用
  • KVM虚拟机快照无法删除故障排查实用指南
  • 仿写一个简化版Redis,理解内存数据库
  • 从零构建生产级PHP 9.0 AI聊天机器人:EventLoop选型对比、RAG异步注入、Token流式渲染——面试官最想看的3个代码片段
  • 如何用SteamAutoCrack轻松实现Steam游戏DRM自动破解:完整指南
  • LLEP算法:动态负载均衡优化MoE模型训练
  • 苏州沃虎电子(VOOHU)信号线用共模扼流圈WHLC-2012A-900T0产品介绍
  • 终极指南:30天无限续杯JetBrains IDE试用期重置工具完整教程
  • 利用Taotoken模型广场为特定任务选择性价比最优的大模型
  • 2026年Q2西安二手办公家具回收权威机构排行:红木家具回收二手电脑回收、西安电脑回收、西空调回收、二手红木家具回收电脑回收选择指南 - 优质品牌商家
  • 【云藏山鹰代数信息系统】浅析社会关系力学研究范式
  • 你的内容为什么总被说“像别人”?我找到了3个解决办法
  • Clang编译器在Dev-C++中的常见问题有哪些
  • AssetRipper终极指南:从Unity游戏中提取资产的完整教程
  • 【限免24小时】:Dify医疗专属合规检测套件(含17个医疗敏感词动态词典、DICOM元数据过滤器、患者ID双向不可逆混淆模块)
  • 【值得收藏】网络安全零基础入门:大龄转行成功案例+学习路线图
  • 守护应急每一刻|江苏翠苗新材料应急推车,实用更靠谱!
  • 2026年商用制冷设备厂家TOP5客观盘点与选型参考:四川速冻冷库/四川酒店制冷设备/四川食品冷冻库/酒店制冷设备/选择指南 - 优质品牌商家
  • 程序员教你怎么选自动下单软件:从条件单到可编程策略单
  • 2026年注浆记录仪知名品牌厂家最新推荐:灌浆记录仪知名厂家,电磁流量计厂家,电磁流量计好的厂家,优选推荐! - 优质品牌商家
  • 2026年AI大模型API聚合站揭秘:谁能成为企业级长期运行的理想之选?
  • 西安公立医院和私立医院近视手术哪个好