HarmonyOS目前支持设置手势密码吗

HarmonyOS
2024-12-26 15:01:47
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Excelsior_abit

手势密码可以参考示例文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references/ts-basic-components-patternlock-V5#示例

参考demo:

// 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>) => {
          // 输入的密码长度小于5时,提示重新输入
          if (input === null || input === undefined || input.length < 5) {
            this.message = 'The password length needs to be greater than 5, please enter again.'
            return
          }
          // 判断密码长度是否大于0
          if (this.passwords.length > 0) {
            // 判断两次输入的密码是否相同,相同则提示密码设置成功,否则提示重新输入
            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%')
  }
}
分享
微博
QQ
微信
回复
2024-12-26 18:06:01
相关问题
HarmonyOS 手势密码组件
329浏览 • 1回复 待解决
HarmonyOS next目前支持支付功能
370浏览 • 1回复 待解决
HarmonyOS 如何是实现手势密码功能
981浏览 • 1回复 待解决
HarmonyOS 是否有9宫格的手势密码组件
347浏览 • 1回复 待解决
HarmonyOS 目前是否支持cordova
1236浏览 • 2回复 待解决
HarmonyOS 仓颉目前成熟
549浏览 • 2回复 待解决
HarmonyOS Webview 支持设置代理功能
462浏览 • 1回复 待解决
HarmonyOS 支持给gif设置颜色
388浏览 • 1回复 待解决
WebView支持设置WebView圆角
1217浏览 • 1回复 待解决
目前HarmonyOS app支持哪些安装方式
429浏览 • 1回复 待解决
HarmonyOS 目前是否支持修改系统时间
439浏览 • 1回复 待解决
HarmonyOS 页面手势操作能够全局设置
783浏览 • 1回复 待解决