進度條組件

2024-01-22 17:22 更新

進度條組件,用于顯示內容加載或操作處理等進度。

說明

該組件從API version7開始支持。后續(xù)版本如有新增內容,則采用上角標單獨標記該內容的起始版本。

子組件

接口

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

創(chuàng)建進度組件,用于顯示內容加載或操作處理進度。

從API version 9開始,該接口支持在ArkTS卡片中使用。

參數:

參數名

參數類型

必填

參數描述

value

number

指定當前進度值。設置小于0的數值時置為0,設置大于total的數值時置為total。

從API version 9開始,該接口支持在ArkTS卡片中使用。

total

number

指定進度總長。

默認值:100

從API version 9開始,該接口支持在ArkTS卡片中使用。

type8+

ProgressType

指定進度條類型。

默認值:ProgressType.Linear

從API version 9開始,該接口支持在ArkTS卡片中使用。

styledeprecated

ProgressStyle

指定進度條樣式。

該參數從API version8開始廢棄,建議使用type替代。

默認值:ProgressStyle.Linear

ProgressType枚舉說明

從API version 9開始,該接口支持在ArkTS卡片中使用。

名稱

描述

Linear

線性樣式。從API version9開始,高度大于寬度的時候自適應垂直顯示。

Ring8+

環(huán)形無刻度樣式,環(huán)形圓環(huán)逐漸顯示至完全填充效果。

Eclipse8+

圓形樣式,顯示類似月圓月缺的進度展示效果,從月牙逐漸變化至滿月。

ScaleRing8+

環(huán)形有刻度樣式,顯示類似時鐘刻度形式的進度展示效果。從API version9開始,刻度外圈出現(xiàn)重疊的時候自動轉換為環(huán)形無刻度進度條。

Capsule8+

膠囊樣式,頭尾兩端圓弧處的進度展示效果與Eclipse相同;中段處的進度展示效果與Linear相同。高度大于寬度的時候自適應垂直顯示。

ProgressStyle枚舉說明

從API version 9開始,該接口支持在ArkTS卡片中使用。

名稱

描述

Linear

線性樣式。

Ring

環(huán)形無刻度樣式,環(huán)形圓環(huán)逐漸顯示至完全填充效果。

Eclipse

圓形樣式,顯示類似月圓月缺的進度展示效果,從月牙逐漸變化至滿月。

ScaleRing

環(huán)形有刻度樣式,顯示類似時鐘刻度形式的進度展示效果。

Capsule

膠囊樣式,頭尾兩端圓弧處的進度展示效果與Eclipse相同;中段處的進度展示效果與Linear相同。高度大于寬度的時候自適應垂直顯示。

屬性

名稱

參數類型

描述

value

number

設置當前進度值。設置小于0的數值時置為0,設置大于total的數值時置為total。非法數值不生效。

從API version 9開始,該接口支持在ArkTS卡片中使用。

color

ResourceColor

設置進度條前景色。

默認值:'#ff007dff'

從API version 9開始,該接口支持在ArkTS卡片中使用。

backgroundColor

ResourceColor

設置進度條底色。

默認值:'#19182431'

從API version 9開始,該接口支持在ArkTS卡片中使用。

style8+

{

strokeWidth?: Length,

scaleCount?: number,

scaleWidth?: Length

}

定義組件的樣式。

- strokeWidth: 設置進度條寬度(不支持百分比設置)。從API version9開始,環(huán)形進度條設置寬度大于等于半徑時,默認修改寬度至半徑值的二分之一。

默認值:4.0Vp

- scaleCount: 設置環(huán)形進度條總刻度數。

默認值:120

- scaleWidth: 設置環(huán)形進度條刻度粗細(不支持百分比設置),刻度粗細大于進度條寬度時,為系統(tǒng)默認粗細。

默認值:2.0Vp

從API version 9開始,該接口支持在ArkTS卡片中使用。

事件

支持通用事件。

示例

  1. // xxx.ets
  2. @Entry
  3. @Component
  4. struct ProgressExample {
  5. build() {
  6. Column({ space: 15 }) {
  7. Text('Linear Progress').fontSize(9).fontColor(0xCCCCCC).width('90%')
  8. Progress({ value: 10, type: ProgressType.Linear }).width(200)
  9. Progress({ value: 20, total: 150, type: ProgressType.Linear }).color(Color.Grey).value(50).width(200)
  10. Text('Eclipse Progress').fontSize(9).fontColor(0xCCCCCC).width('90%')
  11. Row({ space: 40 }) {
  12. Progress({ value: 10, type: ProgressType.Eclipse }).width(100)
  13. Progress({ value: 20, total: 150, type: ProgressType.Eclipse }).color(Color.Grey).value(50).width(100)
  14. }
  15. Text('ScaleRing Progress').fontSize(9).fontColor(0xCCCCCC).width('90%')
  16. Row({ space: 40 }) {
  17. Progress({ value: 10, type: ProgressType.ScaleRing }).width(100)
  18. Progress({ value: 20, total: 150, type: ProgressType.ScaleRing })
  19. .color(Color.Grey).value(50).width(100)
  20. .style({ strokeWidth: 15, scaleCount: 15, scaleWidth: 5 })
  21. }
  22. // scaleCount和scaleWidth效果對比
  23. Row({ space: 40 }) {
  24. Progress({ value: 20, total: 150, type: ProgressType.ScaleRing })
  25. .color(Color.Grey).value(50).width(100)
  26. .style({ strokeWidth: 20, scaleCount: 20, scaleWidth: 5 })
  27. Progress({ value: 20, total: 150, type: ProgressType.ScaleRing })
  28. .color(Color.Grey).value(50).width(100)
  29. .style({ strokeWidth: 20, scaleCount: 30, scaleWidth: 3 })
  30. }
  31. Text('Ring Progress').fontSize(9).fontColor(0xCCCCCC).width('90%')
  32. Row({ space: 40 }) {
  33. Progress({ value: 10, type: ProgressType.Ring }).width(100)
  34. Progress({ value: 20, total: 150, type: ProgressType.Ring })
  35. .color(Color.Grey).value(50).width(100)
  36. .style({ strokeWidth: 20, scaleCount: 30, scaleWidth: 20 })
  37. }
  38. Text('Capsule Progress').fontSize(9).fontColor(0xCCCCCC).width('90%')
  39. Row({ space: 40 }) {
  40. Progress({ value: 10, type: ProgressType.Capsule }).width(100).height(50)
  41. Progress({ value: 20, total: 150, type: ProgressType.Capsule })
  42. .color(Color.Grey)
  43. .value(50)
  44. .width(100)
  45. .height(50)
  46. }
  47. }.width('100%').margin({ top: 30 })
  48. }
  49. }

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號