HarmonyOS-UIAbitity-Progress——【坚果派-红目香薰】

举报
红目香薰 发表于 2024/03/31 18:18:16 2024/03/31
【摘要】 ​ 摘要作者:红目香薰团队:坚果派 团队介绍:坚果派由坚果创建,团队拥有12个华为HDE以及若干其他领域的三十余位万粉博主运营。 目录摘要HarmonyOS-UIAbitity-Progress接口ProgressType枚举说明ProgressStyle枚举说明属性示例代码HarmonyOS-UIAbitity-Progress进度条组件,用于显示内容加载或操作处理等进度。接口Progre...

 

摘要

作者:红目香薰
团队:坚果派
团队介绍:坚果派由坚果创建,团队拥有12个华为HDE以及若干其他领域的三十余位万粉博主运营。 

目录

摘要

HarmonyOS-UIAbitity-Progress

接口

ProgressType枚举说明

ProgressStyle枚举说明

属性

示例代码


HarmonyOS-UIAbitity-Progress

进度条组件,用于显示内容加载或操作处理等进度。

接口

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

创建进度组件,用于显示内容加载或操作处理进度。

参数:

参数名

参数类型

必填

参数描述

value

number

指定当前进度值。

total

number

指定进度总长。

默认值:100

type8+

ProgressType

指定进度条类型。

默认值:ProgressType.Linear

styledeprecated

ProgressStyle

指定进度条类型。

该参数从API Version8开始废弃,建议使用type替代。

默认值:ProgressStyle.Linear

ProgressType枚举说明

名称

描述

Linear

线性样式。

Ring8+

环形无刻度样式,环形圆环逐渐显示至完全填充效果。

Eclipse

圆形样式,显示类似月圆月缺的进度展示效果,从月牙逐渐变化至满月。

ScaleRing8+

环形有刻度样式,显示类似时钟刻度形式的进度展示效果。

Capsule8+

胶囊样式,头尾两端圆弧处的进度展示效果与Eclipse相同;中段处的进度展示效果与Linear相同。

ProgressStyle枚举说明

名称

描述

Linear

线性样式。

Ring

环形无刻度样式,环形圆环逐渐显示至完全填充效果。

Eclipse

圆形样式,显示类似月圆月缺的进度展示效果,从月牙逐渐变化至满月。

ScaleRing

环形有刻度样式,显示类似时钟刻度形式的进度展示效果。

Capsule

胶囊样式,头尾两端圆弧处的进度展示效果与Eclipse相同;中段处的进度展示效果与Linear相同。

属性

名称

参数类型

描述

value

number

设置当前进度值。

color

ResourceColor

设置进度条前景色。

style8+

{

strokeWidth?: Length,

scaleCount?: number,

scaleWidth?: Length

}

定义组件的样式。

strokeWidth: 设置进度条宽度。

scaleCount: 设置环形进度条总刻度数。

scaleWidth: 设置环形进度条刻度粗细。

刻度粗细大于进度条宽度时,刻度粗细为系统默认粗细。

示例代码

@Entry
@Component
struct Index {
  build() {
    Column({ space: 15 }) {
      Text('Linear Progress').fontSize(9).fontColor(0xCCCCCC).width('90%')
      Progress({ value: 10, type: ProgressType.Linear }).width(200)
      Progress({ value: 20, total: 150, type: ProgressType.Linear }).color(Color.Grey).value(50).width(200)

      Text('Eclipse Progress').fontSize(9).fontColor(0xCCCCCC).width('90%')
      Row({ space: 40 }) {
        Progress({ value: 10, type: ProgressType.Eclipse }).width(100)
        Progress({ value: 20, total: 150, type: ProgressType.Eclipse }).color(Color.Grey).value(50).width(100)
      }

      Text('ScaleRing Progress').fontSize(9).fontColor(0xCCCCCC).width('90%')
      Row({ space: 40 }) {
        Progress({ value: 10, type: ProgressType.ScaleRing }).width(100)
        Progress({ value: 20, total: 150, type: ProgressType.ScaleRing })
          .color(Color.Grey).value(50).width(100)
          .style({ strokeWidth: 15, scaleCount: 15, scaleWidth: 5 })
      }

      // scaleCount和scaleWidth效果对比
      Row({ space: 40 }) {
        Progress({ value: 20, total: 150, type: ProgressType.ScaleRing })
          .color(Color.Grey).value(50).width(100)
          .style({ strokeWidth: 20, scaleCount: 20, scaleWidth: 5 })
        Progress({ value: 20, total: 150, type: ProgressType.ScaleRing })
          .color(Color.Grey).value(50).width(100)
          .style({ strokeWidth: 20, scaleCount: 30, scaleWidth: 3 })
      }

      Text('Ring Progress').fontSize(9).fontColor(0xCCCCCC).width('90%')
      Row({ space: 40 }) {
        Progress({ value: 10, type: ProgressType.Ring }).width(100)
        Progress({ value: 20, total: 150, type: ProgressType.Ring })
          .color(Color.Grey).value(50).width(100)
          .style({ strokeWidth: 20, scaleCount: 30, scaleWidth: 20 })
      }

      Text('Capsule Progress').fontSize(9).fontColor(0xCCCCCC).width('90%')
      Row({ space: 40 }) {
        Progress({ value: 10, type: ProgressType.Capsule }).width(100).height(50)
        Progress({ value: 20, total: 150, type: ProgressType.Capsule })
          .color(Color.Grey)
          .value(50)
          .width(100)
          .height(50)
      }
    }.width('100%').margin({ top: 30 })
  }
}

示例效果

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。