<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      鴻蒙應(yīng)用開發(fā)從入門到實戰(zhàn)(十三):ArkUI組件Slider&Progress

      大家好,我是潘Sir,持續(xù)分享IT技術(shù),幫你少走彎路。《鴻蒙應(yīng)用開發(fā)從入門到項目實戰(zhàn)》系列文章持續(xù)更新中,陸續(xù)更新AI+編程、企業(yè)級項目實戰(zhàn)等原創(chuàng)內(nèi)容、歡迎關(guān)注!

      ArkUI提供了豐富的系統(tǒng)組件,用于制作鴻蒙原生應(yīng)用APP的UI,本文主要講解滑塊Slider和進(jìn)度條Progress組件的使用。

      一、滑塊Slider

      1.1 概述

      滑動條組件,通常用于快速調(diào)節(jié)設(shè)置值,如音量調(diào)節(jié)、亮度調(diào)節(jié)等應(yīng)用場景。

      1.2 參數(shù)

      Slider組件的參數(shù)定義如下

      Slider(options?: {value?: number, min?: number, max?: number, step?: number, style?: SliderStyle, direction?: Axis, reverse?: boolean})
      

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

      參數(shù)說明:

      參數(shù)名 參數(shù)類型 必填 參數(shù)描述
      value number 當(dāng)前進(jìn)度值。默認(rèn)值:0
      min number 設(shè)置最小值。默認(rèn)值:0
      max number 設(shè)置最大值。默認(rèn)值:100說明:min >= max異常情況,min取默認(rèn)值0,max取默認(rèn)值100。value不在[min, max]范圍之內(nèi),取min/max,靠近min取min,靠近max取max。
      step number 設(shè)置Slider滑動步長。默認(rèn)值:1取值范圍:[0.01, max]說明:設(shè)置小于0或百分比的值時,按默認(rèn)值顯示。
      style SliderStyle 設(shè)置Slider的滑塊與滑軌顯示樣式。默認(rèn)值:SliderStyle.OutSet
      direction Axis 設(shè)置滑動條滑動方向為水平或豎直方向。默認(rèn)值:Axis.Horizontal
      reverse boolean 設(shè)置滑動條取值范圍是否反向,橫向Slider默認(rèn)為從左往右滑動,豎向Slider默認(rèn)為從上往下滑動。默認(rèn)值:false

      SliderStyle枚舉說明

      名稱 描述
      OutSet 滑塊在滑軌上。
      InSet 滑塊在滑軌內(nèi)。

      1.3 常用屬性

      支持除觸摸熱區(qū)以外的通用屬性設(shè)置。

      名稱 參數(shù)類型 描述
      blockColor ResourceColor 設(shè)置滑塊的顏色。從API version 9開始,該接口支持在ArkTS卡片中使用。
      trackColor ResourceColor 設(shè)置滑軌的背景顏色。從API version 9開始,該接口支持在ArkTS卡片中使用。
      selectedColor ResourceColor 設(shè)置滑軌的已滑動部分顏色。從API version 9開始,該接口支持在ArkTS卡片中使用。
      showSteps boolean 設(shè)置當(dāng)前是否顯示步長刻度值。默認(rèn)值:false從API version 9開始,該接口支持在ArkTS卡片中使用。
      showTips boolean 設(shè)置滑動時是否顯示百分比氣泡提示。默認(rèn)值:false從API version 9開始,該接口支持在ArkTS卡片中使用。說明:當(dāng)direction的屬性值為Axis.Horizontal時,tip顯示在滑塊正上方。值為Axis.Vertical時,tip顯示在滑塊正左邊。tip的繪制區(qū)域為Slider自身節(jié)點的overlay。Slider不設(shè)置邊距,或者邊距比較小時,tip會被截斷。
      trackThickness Length 設(shè)置滑軌的粗細(xì)。默認(rèn)值:當(dāng)參數(shù)style的值設(shè)置SliderStyle.OutSet 時為 4.0vp,SliderStyle.InSet時為20.0vp。從APIversion9開始,該接口支持在ArkTS卡片中使用。說明:設(shè)置為小于0的值時,按默認(rèn)值顯示。

      1.4 事件

      通用事件僅支持掛載卸載事件:OnAppear,OnDisAppear。

      名稱 功能描述
      onChange(callback: (value: number, mode: SliderChangeMode) => void) Slider滑動時觸發(fā)事件回調(diào)。value:當(dāng)前滑動進(jìn)度值。若返回值有小數(shù),可使用number.toFixed()方法將數(shù)據(jù)處理為預(yù)期的精度。mode:拖動狀態(tài)。從API version 9開始,該接口支持在ArkTS卡片中使用。說明:Begin和End狀態(tài)當(dāng)手勢點擊時都會觸發(fā),Moving和Click狀態(tài)當(dāng)value值發(fā)生變換時觸發(fā)。當(dāng)連貫動作為拖動動作時,不觸發(fā)Click狀態(tài)。value值的變化范圍為對應(yīng)步長steps數(shù)組。

      SliderChangeMode枚舉說明

      名稱 描述
      Begin 0 手勢/鼠標(biāo)接觸或者按下滑塊。
      Moving 1 正在拖動滑塊過程中。
      End 2 手勢/鼠標(biāo)離開滑塊。
      Click 3 點擊滑動條使滑塊位置移動。

      1.5 案例

      component目錄下新建slider目錄,新建SliderPage.ets文件

      @Entry
      @Component
      struct SliderPage {
        @State imgWidth: number = 10
      
        build() {
          Column({ space: 150 }) {
            Slider({
              min: 100,
              max: 300,
              value: this.imgWidth,
              step: 10,
            })
              .width('90%')
              .blockColor('#36D')
              .trackThickness(5)
              .showTips(true)
              .onChange((value,mode)=>{
                console.log(value.toString());
                console.log(mode.toString());
              })
          }
          .width('100%')
          .height('100%')
          .justifyContent(FlexAlign.Center)
        }
      }
      

      二、進(jìn)度條Progress

      2.1 概述

      Progress為進(jìn)度條組件,用于顯示各種進(jìn)度。

      2.2 參數(shù)

      Progress組件的參數(shù)定義如下

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

      value屬性用于設(shè)置當(dāng)前進(jìn)度值。

      • total

      total屬性用于設(shè)置總值。

      • type

      type屬性用于設(shè)置進(jìn)度條類型,可通過ProgressType枚舉類型進(jìn)行設(shè)置,可選的枚舉值如下

      名稱 描述 效果
      ProgressType.Linear 線性樣式 1線性樣式
      ProgressType.Ring 環(huán)形無刻度樣式 2環(huán)形無刻度樣式
      ProgressType.Eclipse 月食樣式 3月食樣式
      ProgressType.ScaleRing 環(huán)形有刻度樣式 4環(huán)形有刻度樣式
      ProgressType.Capsule 膠囊樣式 5膠囊樣式

      示例代碼:

      component目錄下新建progress目錄,新建ProgressParameter.ets文件

      @Entry
      @Component
      struct ProgressParameter {
        @State value: number = 30;
        @State total: number = 100;
      
        build() {
          Column({ space: 50 }) {
            Progress({ value: this.value, total: this.total, type: ProgressType.Linear })
            Progress({ value: this.value, total: this.total, type: ProgressType.Ring })
            Progress({ value: this.value, total: this.total, type: ProgressType.Eclipse })
            Progress({ value: this.value, total: this.total, type: ProgressType.ScaleRing })
            Progress({ value: this.value, total: this.total, type: ProgressType.Capsule })
              .width(50)
              .height(200)
      
            //分隔線
            Divider()
      
            Row({ space: 50 }) {
              Button('進(jìn)度-1')
                .onClick(() => {
                  if (this.value > 0) {
                    this.value--;
                  }
                })
              Button('進(jìn)度+1')
                .onClick(() => {
                  if (this.value < this.total) {
                    this.value++;
                  }
                })
            }
          }.width('100%')
          .height('100%')
          .justifyContent(FlexAlign.Center)
        }
      }
      

      2.3 常用屬性

      2.3.1 進(jìn)度條樣式

      可通過style()調(diào)整進(jìn)度條的樣式,例如進(jìn)度條的寬度,該方法的參數(shù)類型定義如下

      style({strokeWidth?: string|number|Resource,scaleCount?: number,scaleWidth?: string|number|Resource})
      
      • strokeWidth

      strokeWidth屬性用于設(shè)置進(jìn)度條的寬度,默認(rèn)值為4vp。該屬性可用于LinearRingScaleRing三種類型,效果如下

      6strokeWidth

      • scaleCount

      scaleCount屬性用于設(shè)置ScaleRing的刻度數(shù),默認(rèn)值為120。效果如下

      7scaleCount

      • scaleWidth

      scaleCount屬性用于設(shè)置ScaleRing的刻度線的寬度,默認(rèn)值為2vp。效果如下

      8scaleWidth

      示例代碼:

      在progress目錄下新建ProgressAttributePage.ets文件

      @Entry
      @Component
      // 進(jìn)度條progress樣式 style()
      struct ProgressAttributePage {
      
        build() {
          Column({ space: 50 }) {
            // strokeWidth屬性用于設(shè)置進(jìn)度條的寬度,默認(rèn)值為4vp
            // scaleCount屬性用于設(shè)置ScaleRing的刻度數(shù),默認(rèn)值為120
            // scaleCount屬性用于設(shè)置ScaleRing的刻度線的寬度,默認(rèn)值為2vp
            Progress({ value: 30, total: 100, type: ProgressType.Linear })
              .style({
                strokeWidth: 20
              })
      
            Progress({ value: 30, total: 100, type: ProgressType.Ring })
              .style({
                strokeWidth: 20
              })
      
            Progress({ value: 30, total: 100, type: ProgressType.ScaleRing })
              .style({
                strokeWidth: 10,
                scaleWidth: 3,
                scaleCount: 30
              })
      
          }.width('100%')
          .height('100%')
          .justifyContent(FlexAlign.Center)
        }
      }
      

      2.3.2 進(jìn)度條顏色

      進(jìn)度條的顏色可通過color()backgroundColor()方法進(jìn)行設(shè)置,其中color()用于設(shè)置前景色,backgroundColor()用于設(shè)置背景色,例如

      9進(jìn)度條顏色

      示例代碼:

      在progress目錄下新建ProgressColor.ets文件

      @Entry
      @Component
      // 進(jìn)度條progress顏色
      struct ProgressColor {
      
        build() {
          Column({ space: 50 }) {
            // 進(jìn)度條的顏色可通過color()和backgroundColor()方法進(jìn)行設(shè)置,
            // 其中color()用于設(shè)置前景色,backgroundColor()用于設(shè)置背景色
            Progress({ value: 30, total: 100, type: ProgressType.Linear })
              .color(Color.Green)
              .backgroundColor("#26008000")
      
            Progress({ value: 30, total: 100, type: ProgressType.Ring })
              .color(Color.Green)
              .backgroundColor("#26008000")
      
            Progress({ value: 30, total: 100, type: ProgressType.Eclipse })
              .color(Color.Green)
              .backgroundColor("#26008000")
      
            Progress({ value: 30, total: 100, type: ProgressType.ScaleRing })
              .color(Color.Green)
              .backgroundColor("#26008000")
      
            Progress({ value: 30, total: 100, type: ProgressType.Capsule })
              .width(200)
              .color(Color.Green)
              .backgroundColor("#26008000")
      
          }.width('100%')
          .height('100%')
          .justifyContent(FlexAlign.Center)
        }
      }
      

      《鴻蒙應(yīng)用開發(fā)從入門到項目實戰(zhàn)》系列文章持續(xù)更新中,陸續(xù)更新AI+編程、企業(yè)級項目實戰(zhàn)等原創(chuàng)內(nèi)容,防止迷路,歡迎關(guān)注!

      posted @ 2025-09-24 09:29  程序員潘Sir  閱讀(147)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 多伦县| 嘉鱼县| 狠狠躁夜夜躁无码中文字幕| 91精品国产综合蜜臀蜜臀| 日本伊人色综合网| 粉嫩av国产一区二区三区| 日韩精品亚洲 国产| 午夜天堂精品久久久久| 香蕉久久久久久久av网站| 日本一区二区三区黄色网| 成人特黄特色毛片免费看| 国产精品亚洲二区在线看| 亚洲永久一区二区三区在线| 免费国产黄线在线观看| 2022最新国产在线不卡a| 亚洲熟女乱色一区二区三区| 国产精品一区二区三区91| 91久久精品美女高潮不断| 伊人精品成人久久综合97| 欧洲美女黑人粗性暴交视频 | 湖州市| 亚洲成人免费一级av| 人妻日韩精品中文字幕| 成人啪精品视频网站午夜| 人妻精品久久无码区| 亚洲国产成人精品女人久久久| 国产精品疯狂输出jk草莓视频| 久久久久人妻一区二区三区| 99久久成人亚洲精品观看| 四虎在线成人免费观看| 強壮公弄得我次次高潮A片| 综合偷自拍亚洲乱中文字幕 | 久久精品无码精品免费专区| 国产精品一区二区在线欢| 久久精品国产福利一区二区| 偷窥国产亚洲免费视频| 国产午夜精品亚洲精品国产| 乱女乱妇熟女熟妇综合网| 国产精品毛片在线看不卡| 长腿校花无力呻吟娇喘| 亚洲av无码成人精品区一区|