当前位置:   article > 正文

HarmonyOS系统开发ArkTS常用组件进度条及参数

HarmonyOS系统开发ArkTS常用组件进度条及参数

Progress为进度条组件,用于显示各种进度。

1、Progress组件的参数

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

  •  value属性用于设置当前进度值。
  •  total属性用于设置总值。
  •  type属性用于设置进度条类型,可通过ProgressType枚举类型进行设置,可选的枚举值如下

      ProgressType.Linear    线性样式    
      ProgressType.Ring    环形无刻度样式    
      ProgressType.Eclipse    月食样式    
      ProgressType.ScaleRing    环形有刻度样式    
      ProgressType.Capsule    胶囊样式    只有增加witdh 和 height属性才会显示,否则为圆形

  1. @Entry
  2. @Component
  3. struct ProgressText {
  4. @State value: number = 1;
  5. build() {
  6. Column({ space: 10 }) {
  7. Text('Progress 进度条').fontSize(25)
  8. Progress({ value: this.value, total: 100, type: ProgressType.Linear })
  9. Progress({ value: this.value, total: 100, type: ProgressType.Ring })
  10. Progress({ value: this.value, total: 100, type: ProgressType.Eclipse })
  11. Progress({ value: this.value, total: 100, type: ProgressType.ScaleRing })
  12. Progress({ value: this.value, total: 100, type: ProgressType.Capsule }).width(100)
  13. // 分隔线
  14. Divider()
  15. Row({ space: 10 }) {
  16. Button('+ 加快进度')
  17. .onClick(() => {
  18. if (this.value >= 100) {
  19. this.value = 100
  20. }
  21. this.value++
  22. })
  23. Button('- 减缓进度')
  24. .onClick(() => {
  25. if (this.value <= 0) {
  26. this.value = 0
  27. }
  28. this.value--
  29. })
  30. }
  31. }
  32. .width('100%')
  33. .height("100%")
  34. .justifyContent(FlexAlign.Center)
  35. }
  36. }

2、常用属性


进度条样式通过style()设置,该方法的参数类型定义
style({strokeWidth?: string|number|Resource,scaleCount?: number,scaleWidth?: string|number|Resource})


strokeWidth:属性用于设置进度条的宽度,默认值为4vp。该属性可用于Linear、Ring、ScaleRing三种类型类型的进度条


● scaleCount属性用于设置ScaleRing的刻度数,默认值为120。


● scaleCount属性用于设置ScaleRing的刻度线的宽度,默认值为2vp。

 ● 进度条颜色:进度条的颜色可通过color()backgroundColor()方法进行设置,其中color()用于设置前景色,backgroundColor()用于设置背景色。

  1. @Entry
  2. @Component
  3. struct ProgressText {
  4. @State value: number = 30;
  5. build() {
  6. Column({ space: 10 }) {
  7. Text('Progress 进度条').fontSize(25)
  8. Progress({ value: this.value, total: 100, type: ProgressType.Linear })
  9. .style({
  10. strokeWidth:20
  11. })
  12. .color(Color.Green)
  13. .backgroundColor(Color.Gray)
  14. Progress({ value: this.value, total: 100, type: ProgressType.Ring })
  15. .style({
  16. strokeWidth:15
  17. })
  18. .color(Color.Green)
  19. .backgroundColor(Color.Gray)
  20. Progress({ value: this.value, total: 100, type: ProgressType.ScaleRing })
  21. .style({
  22. strokeWidth:15,
  23. scaleCount:30,
  24. scaleWidth:5
  25. })
  26. .color(Color.Green)
  27. .backgroundColor(Color.Gray)
  28. Progress({ value: this.value, total: 100, type: ProgressType.Eclipse })
  29. .color(Color.Green)
  30. .backgroundColor(Color.Gray)
  31. Progress({ value: this.value, total: 100, type: ProgressType.Capsule }).width(100)
  32. .color(Color.Green)
  33. .backgroundColor(Color.Gray)
  34. // 分隔线
  35. Divider()
  36. Row({ space: 10 }) {
  37. Button('+ 加快进度')
  38. .onClick(() => {
  39. if (this.value >= 100) {
  40. this.value = 100
  41. }
  42. this.value++
  43. })
  44. Button('- 减缓进度')
  45. .onClick(() => {
  46. if (this.value <= 0) {
  47. this.value = 0
  48. }
  49. this.value--
  50. })
  51. }
  52. }
  53. .width('100%')
  54. .height("100%")
  55. .justifyContent(FlexAlign.Center)
  56. }
  57. }

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/302409
推荐阅读
相关标签
  

闽ICP备14008679号