🚀一、Progress
Progress元件是一種使用者介面(UI)元素,用於向使用者顯示某些任務的進度。它通常以進度條的形式出現,顯示任務完成的百分比。Progress元件可以在確定任務持續時間未知的情況下提供有用的反饋,幫助使用者瞭解任務的狀態和進度。
在Web應用程式中,Progress元件通常是使用HTML5的
-
在Android應用程式中,Progress元件通常是使用ProgressBar控制元件來實現的。ProgressBar控制元件可以在水平或垂直方向上顯示進度條,還可以使用自定義顏色和樣式。
-
在iOS應用程式中,Progress元件通常是使用UIProgressView控制元件來實現的。UIProgressView控制元件可以在水平或垂直方向上顯示進度條,還可以使用自定義顏色和樣式。
-
在HarmonyOS應用程式中,Progress元件通常是使用Progress控制元件來實現的。Progress控制元件可以在水平或垂直方向上顯示進度條,還可以使用自定義顏色和樣式。
🔎1.建立進度條
語法說明:
Progress(options: {value: number, total?: number, type?: ProgressType})
使用:
// xxx.ets
import promptAction from '@ohos.promptAction';
@Entry
@Component
struct Index {
build() {
Column() {
Row() {
Progress({ value: 24, total: 100, type: ProgressType.Linear })
}
Row() {
}
.backgroundColor(0xFFFFFF)
}
.padding(10)
.backgroundColor(0xDCDCDC)
.width('100%')
.height('100%')
}
}
🔎2.設定進度條樣式
🦋2.1 線性樣式
@Entry
@Component
struct Index {
build() {
Column() {
Progress({ value: 20, total: 100, type: ProgressType.Linear }).width(200).height(50)
Progress({ value: 20, total: 100, type: ProgressType.Linear }).width(50).height(200)
}
.padding(10)
.backgroundColor(0xDCDCDC)
.width('100%')
.height('100%')
}
}
🦋2.2 環形無刻度樣式
@Entry
@Component
struct Index {
build() {
Column() {
// 從左往右,1號環形進度條,預設前景色為藍色,預設strokeWidth進度條寬度為2.0vp
Progress({ value: 40, total: 150, type: ProgressType.Ring }).width(100).height(100)
// 從左往右,2號環形進度條
Progress({ value: 40, total: 150, type: ProgressType.Ring }).width(100).height(100)
.color(Color.Grey) // 進度條前景色為灰色
.style({ strokeWidth: 15}) // 設定strokeWidth進度條寬度為15.0vp
}
.padding(10)
.backgroundColor(0xDCDCDC)
.width('100%')
.height('100%')
}
}
🦋2.3 環形有刻度樣式
@Entry
@Component
struct Index {
build() {
Column() {
Progress({ value: 20, total: 150, type: ProgressType.ScaleRing }).width(100).height(100)
.backgroundColor(Color.Black)
.style({ scaleCount: 20, scaleWidth: 5 }) // 設定環形有刻度進度條總刻度數為20,刻度寬度為5vp
Progress({ value: 20, total: 150, type: ProgressType.ScaleRing }).width(100).height(100)
.backgroundColor(Color.Black)
.style({ strokeWidth: 15, scaleCount: 20, scaleWidth: 5 }) // 設定環形有刻度進度條寬度15,總刻度數為20,刻度寬度為5vp
Progress({ value: 20, total: 150, type: ProgressType.ScaleRing }).width(100).height(100)
.backgroundColor(Color.Black)
.style({ strokeWidth: 15, scaleCount: 20, scaleWidth: 3 }) // 設定環形有刻度進度條寬度15,總刻度數為20,刻度寬度為3vp
}
.padding(10)
.backgroundColor(0xDCDCDC)
.width('100%')
.height('100%')
}
}
🦋2.4 圓形樣式
@Entry
@Component
struct Index {
build() {
Column() {
// 從左往右,1號圓形進度條,預設前景色為藍色
Progress({ value: 10, total: 150, type: ProgressType.Eclipse }).width(100).height(100)
// 從左往右,2號圓形進度條,指定前景色為灰色
Progress({ value: 20, total: 150, type: ProgressType.Eclipse }).color(Color.Grey).width(100).height(100)
}
.padding(10)
.backgroundColor(0xDCDCDC)
.width('100%')
.height('100%')
}
}
🦋2.5 膠囊樣式
@Entry
@Component
struct Index {
build() {
Column() {
Progress({ value: 10, total: 150, type: ProgressType.Capsule }).width(100).height(50)
Progress({ value: 20, total: 150, type: ProgressType.Capsule }).width(50).height(100).color(Color.Grey)
Progress({ value: 50, total: 150, type: ProgressType.Capsule }).width(50).height(100).backgroundColor(Color.Black)
}
.padding(10)
.backgroundColor(0xDCDCDC)
.width('100%')
.height('100%')
}
}
🔎3.案例
Progress元件通常用於展示某個任務或者程序的進度,可以向使用者傳達當前操作的進展情況。以下是Progress元件的一些實際應用場景:
- 檔案上傳或下載的進度條展示
- 音影片播放器中的播放進度條
- 遊戲中的載入進度條
- 網頁載入進度條
- 軟體安裝或更新的進度條展示
- 資料庫操作的進度條展示
- 任務管理系統中的進度展示
- 專案管理系統中的任務進度展示
Progress元件可以直觀地展示某個任務的完成情況,幫助使用者瞭解任務的進度及剩餘時間,提高使用者體驗和操作效率。
案例:
@Entry
@Component
struct Index {
@State progressValue: number = 0 // 設定進度條初始值為0
build() {
Column() {
Column() {
Progress({value:0, total:100, type:ProgressType.Capsule}).width(200).height(50)
.style({strokeWidth:50}).value(this.progressValue)
Row().width('100%').height(5)
Button("進度條+5")
.onClick(()=>{
this.progressValue += 5
if (this.progressValue > 100){
this.progressValue = 0
}
})
}
}.width('100%').height('100%')
}
}
🚀寫在最後
- 如果你覺得這篇內容對你還蠻有幫助,我想邀請你幫我三個小忙:
- 點贊,轉發,有你們的 『點贊和評論』,才是我創造的動力。
- 關注小編,同時可以期待後續文章ing🚀,不定期分享原創知識。
- 更多鴻蒙最新技術知識點,請關注作者部落格:https://t.doruo.cn/14DjR1rEY