0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

鴻蒙ArkTS聲明式組件:PatternLock

jf_46214456 ? 來(lái)源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-27 09:59 ? 次閱讀

PatternLock

圖案密碼鎖組件,以九宮格圖案的方式輸入密碼,用于密碼驗(yàn)證場(chǎng)景。手指在PatternLock組件區(qū)域按下時(shí)開(kāi)始進(jìn)入輸入狀態(tài),手指離開(kāi)屏幕時(shí)結(jié)束輸入狀態(tài)完成密碼輸入。

說(shuō)明:
開(kāi)發(fā)前請(qǐng)熟悉鴻蒙開(kāi)發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
該組件從API Version 9開(kāi)始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。

子組件

無(wú)

接口

PatternLock(controller?: PatternLockController)

參數(shù):

參數(shù)名參數(shù)類(lèi)型必填描述
controller[PatternLockController]設(shè)置PatternLock組件控制器,可用于控制組件狀態(tài)重置。

屬性

除支持[通用屬性]外,還支持以下屬性:

名稱(chēng)參數(shù)類(lèi)型描述
sideLength[Length]設(shè)置組件的寬度和高度(寬高相同)。設(shè)置為0或負(fù)數(shù)時(shí)組件不顯示。 默認(rèn)值:288vp
circleRadius[Length]設(shè)置宮格中圓點(diǎn)的半徑。設(shè)置為0或負(fù)數(shù)時(shí)取默認(rèn)值。 默認(rèn)值:6vp
regularColor[ResourceColor]設(shè)置宮格圓點(diǎn)在“未選中”狀態(tài)的填充顏色。 默認(rèn)值:'#ff182431'
selectedColor[ResourceColor]設(shè)置宮格圓點(diǎn)在“選中”狀態(tài)的填充顏色。 默認(rèn)值:'#ff182431'
activeColor[ResourceColor]設(shè)置宮格圓點(diǎn)在“激活”狀態(tài)的填充顏色(“激活”狀態(tài)為手指經(jīng)過(guò)圓點(diǎn)但還未選中的狀態(tài))。 默認(rèn)值:'#ff182431'
pathColor[ResourceColor]設(shè)置連線(xiàn)的顏色。 默認(rèn)值:'#33182431'
pathStrokeWidthnumberstring
autoResetboolean設(shè)置在完成密碼輸入后再次在組件區(qū)域按下時(shí)是否重置組件狀態(tài)。設(shè)置為true,完成密碼輸入后再次在組件區(qū)域按下時(shí)會(huì)重置組件狀態(tài)(即清除之前輸入的密碼);反之若設(shè)置為false,則不會(huì)重置組件狀態(tài)。 默認(rèn)值:true

事件

除支持[通用事件]外,還支持以下事件:

名稱(chēng)描述
onPatternComplete(callback: (input: Array) => void)密碼輸入結(jié)束時(shí)觸發(fā)該回調(diào)。 input: 與選中宮格圓點(diǎn)順序一致的數(shù)字?jǐn)?shù)組,數(shù)字為選中宮格圓點(diǎn)的索引值(第一行圓點(diǎn)從左往右依次為0、1、2,第二行圓點(diǎn)依次為3、4、5,第三行圓點(diǎn)依次為6、7、8)。
onDotConnect(callback: Callback)11+密碼輸入選中宮格圓點(diǎn)時(shí)觸發(fā)該回調(diào)。**說(shuō)明:**回調(diào)參數(shù)為選中宮格圓點(diǎn)順序的數(shù)字,數(shù)字為選中宮格圓點(diǎn)的索引值(第一行圓點(diǎn)從左往右依次為0、1、2,第二行圓點(diǎn)依次為3、4、5,第三行圓點(diǎn)依次為6、7、8)。

PatternLockController

PatternLock組件的控制器,可以通過(guò)它進(jìn)行組件狀態(tài)重置。

導(dǎo)入對(duì)象

let patternLockController: PatternLockController = new PatternLockController()

reset

reset(): void

重置組件狀態(tài)。

setChallengeResult11+

setChallengeResult(result: PatternLockChallengeResult): void

用于設(shè)置圖案密碼正確或錯(cuò)誤狀態(tài)。

參數(shù)參數(shù)類(lèi)型必填參數(shù)描述
result[PatternLockChallengeResult]圖案密碼狀態(tài)。

PatternLockChallengeResult11+枚舉說(shuō)明

名稱(chēng)描述
CORRECT圖案密碼正確。
WRONG圖案密碼錯(cuò)誤。HarmonyOSOpenHarmony鴻蒙文檔籽料:mau123789是v直接拿

搜狗高速瀏覽器截圖20240326151450.png

示例

// xxx.ets
@Entry
@Component
struct PatternLockExample {
  @State passwords: Number[] = []
  @State message: string = 'please input password!'
  private patternLockController: PatternLockController = new PatternLockController()

  build() {
    Column() {
      Text(this.message).textAlign(TextAlign.Center).margin(20).fontSize(20)
      PatternLock(this.patternLockController)
        .sideLength(200)
        .circleRadius(9)
        .pathStrokeWidth(18)
        .activeColor('#B0C4DE')
        .selectedColor('#228B22')
        .pathColor('#90EE90')
        .backgroundColor('#F5F5F5')
        .autoReset(true)
        .onDotConnect((index: number) = > {
          console.log("onDotConnect index: " + index)
        })
        .onPatternComplete((input: Array< number >) = > {
          // 輸入的密碼長(zhǎng)度小于5時(shí),提示重新輸入
          if (input === null || input === undefined || input.length < 5) {
            this.message = 'The password length needs to be greater than 5, please enter again.'
            return
          }
          // 判斷密碼長(zhǎng)度是否大于0
          if (this.passwords.length > 0) {
            // 判斷兩次輸入的密碼是否相同,相同則提示密碼設(shè)置成功,否則提示重新輸入
            if (this.passwords.toString() === input.toString()) {
              this.passwords = input
              this.message = 'Set password successfully: ' + this.passwords.toString()
              this.patternLockController.setChallengeResult(PatternLockChallengeResult.CORRECT)
            } else {
              this.message = 'Inconsistent passwords, please enter again.'
              this.patternLockController.setChallengeResult(PatternLockChallengeResult.WRONG)
            }
          } else {
            // 提示第二次輸入密碼
            this.passwords = input
            this.message = "Please enter again."
          }
        })
      Button('Reset PatternLock').margin(30).onClick(() = > {
        // 重置密碼鎖
        this.patternLockController.reset()
        this.passwords = []
        this.message = 'Please input password'
      })
    }.width('100%').height('100%')
  }
}

patternlock

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 組件
    +關(guān)注

    關(guān)注

    1

    文章

    495

    瀏覽量

    17731
  • 鴻蒙
    +關(guān)注

    關(guān)注

    56

    文章

    2267

    瀏覽量

    42489
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    HarmonyOS/OpenHarmony應(yīng)用開(kāi)發(fā)-ArkTS聲明開(kāi)發(fā)范式

    軌跡。狀態(tài)與數(shù)據(jù)管理狀態(tài)數(shù)據(jù)管理作為基于ArkTS聲明開(kāi)發(fā)范式的特色,通過(guò)功能不同的裝飾器給開(kāi)發(fā)者提供了清晰的頁(yè)面更新渲染流程和管道。狀態(tài)管理包括UI組件狀態(tài)和應(yīng)用程序狀態(tài),兩者協(xié)
    發(fā)表于 01-17 15:09

    鴻蒙ArkTS聲明組件:Blank

    空白填充組件,在容器主軸方向上,空白填充組件具有自動(dòng)填充容器空余部分的能力。僅當(dāng)父組件為Row/Column/Flex時(shí)生效。
    的頭像 發(fā)表于 06-19 16:21 ?395次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:Blank

    鴻蒙ArkTS聲明組件:Checkbox

    提供多選框組件,通常用于某選項(xiàng)的打開(kāi)或關(guān)閉。
    的頭像 發(fā)表于 06-20 15:36 ?342次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:Checkbox

    鴻蒙ArkTS聲明組件:DataPanel

    數(shù)據(jù)面板組件,用于將多個(gè)數(shù)據(jù)占比情況使用占比圖進(jìn)行展示。
    的頭像 發(fā)表于 06-21 09:42 ?258次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:DataPanel

    鴻蒙ArkTS聲明組件:Marquee

    跑馬燈組件,用于滾動(dòng)展示一段單行文本。僅當(dāng)文本內(nèi)容寬度超過(guò)跑馬燈組件寬度時(shí)滾動(dòng),不超過(guò)時(shí)不滾動(dòng)。
    的頭像 發(fā)表于 06-25 15:52 ?279次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:Marquee

    鴻蒙ArkTS聲明組件:NavDestination

    作為NavRouter組件的子組件,用于顯示導(dǎo)航內(nèi)容區(qū)。
    的頭像 發(fā)表于 06-27 14:05 ?291次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:NavDestination

    鴻蒙ArkTS聲明組件:【RichText】

    富文本組件,解析并顯示HTML格式文本。
    的頭像 發(fā)表于 06-29 09:35 ?403次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:【RichText】

    鴻蒙ArkTS聲明組件:ScrollBar

    滾動(dòng)條組件ScrollBar,用于配合可滾動(dòng)組件使用,如List、Grid、Scroll。
    的頭像 發(fā)表于 07-01 15:52 ?335次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:ScrollBar

    鴻蒙ArkTS聲明組件:Span

    作為T(mén)ext組件的子組件,用于顯示行內(nèi)文本的組件。
    的頭像 發(fā)表于 07-01 09:14 ?312次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:Span

    鴻蒙ArkTS聲明組件:StepperItem

    用作[Stepper]組件的頁(yè)面子組件。
    的頭像 發(fā)表于 07-02 17:47 ?287次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:StepperItem

    鴻蒙ArkTS聲明組件:TextArea

    多行文本輸入框組件,當(dāng)輸入的文本內(nèi)容超過(guò)組件寬度時(shí)會(huì)自動(dòng)換行顯示。
    的頭像 發(fā)表于 07-02 15:02 ?378次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:TextArea

    鴻蒙ArkTS聲明組件:TextInput

    單行文本輸入框組件。
    的頭像 發(fā)表于 07-03 09:14 ?463次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:TextInput

    鴻蒙ArkTS聲明組件:TextPicker

    滑動(dòng)選擇文本內(nèi)容的組件。
    的頭像 發(fā)表于 07-03 15:07 ?252次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:TextPicker

    鴻蒙ArkTS聲明組件:TextTimer

    通過(guò)文本顯示計(jì)時(shí)信息并控制其計(jì)時(shí)器狀態(tài)的組件。
    的頭像 發(fā)表于 07-03 17:06 ?318次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:TextTimer

    鴻蒙ArkTS聲明組件:XComponent

    可用于EGL/OpenGLES和媒體數(shù)據(jù)寫(xiě)入,并顯示在XComponent組件。
    的頭像 發(fā)表于 07-05 09:56 ?360次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>ArkTS</b><b class='flag-5'>聲明</b><b class='flag-5'>式</b><b class='flag-5'>組件</b>:XComponent