在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

深入淺出學(xué)習(xí)eTs之九宮格密碼鎖功能實(shí)現(xiàn)

Harmony&嵌入式學(xué)習(xí) ? 來源:Harmony&嵌入式學(xué)習(xí) ? 作者:Harmony&嵌入式學(xué) ? 2023-05-13 13:25 ? 次閱讀

本項(xiàng)目Gitee倉地址:深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)

一、需求分析

相信沒有人沒有使用過九宮格解鎖吧,從智能機(jī)開始迸發(fā)的時(shí)期到現(xiàn)在,我們本期就要做一個(gè)自己的密碼鎖

密碼正確可進(jìn)入

提示密碼錯(cuò)誤

可修改密碼

二、控件介紹

PatternLockOpenAtom OpenHarmony

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

說明:

該組件從API Version 9開始支持。后續(xù)版本如有新增內(nèi)容,則采用上角標(biāo)單獨(dú)標(biāo)記該內(nèi)容的起始版本。

接口

PatternLock(controller?: PatternLockController)

參數(shù):

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


屬性

不支持除backgroundColor以外的通用屬性設(shè)置。

名稱 參數(shù)類型 描述
sideLength Length 設(shè)置組件的寬度和高度(寬高相同)。設(shè)置為0或負(fù)數(shù)等非法值時(shí)組件不顯示。 默認(rèn)值:300vp
circleRadius Length 設(shè)置宮格中圓點(diǎn)的半徑。 默認(rèn)值:14vp
regularColor ResourceColor 設(shè)置宮格圓點(diǎn)在“未選中”狀態(tài)的填充顏色。 默認(rèn)值:Color.Black
selectedColor ResourceColor 設(shè)置宮格圓點(diǎn)在“選中”狀態(tài)的填充顏色。 默認(rèn)值:Color.Black
activeColor ResourceColor 設(shè)置宮格圓點(diǎn)在“激活”狀態(tài)的填充顏色(“激活”狀態(tài)為手指經(jīng)過圓點(diǎn)但還未選中的狀態(tài))。 默認(rèn)值:Color.Black
pathColor ResourceColor 設(shè)置連線的顏色。 默認(rèn)值:Color.Blue
pathStrokeWidth number | string 設(shè)置連線的寬度。設(shè)置為0或負(fù)數(shù)等非法值時(shí)連線不顯示。 默認(rèn)值:34vp
autoReset boolean 設(shè)置在完成密碼輸入后再次在組件區(qū)域按下時(shí)是否重置組件狀態(tài)。設(shè)置為true,完成密碼輸入后再次在組件區(qū)域按下時(shí)會(huì)重置組件狀態(tài)(即清除之前輸入的密碼);反之若設(shè)置為false,則不會(huì)重置組件狀態(tài)。 默認(rèn)值:true

事件

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

名稱 描述
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)。

wKgZomRfH2GAJWs9AAB5XPQ8OYI371.gif

@Entry @Component struct PatternLockTest {

  build() {
    Column({space: 10}) {
      PatternLock(this.patternLockController)
    }
    .width('100%')
    .height('100%')
    .padding(10)
  }
}

三、UI設(shè)計(jì)

(1)放置九宮格

首先放入一個(gè)九宮格,設(shè)置參數(shù)

wKgaomRfH2KANQMUAABjJ0e0W1M095.png

      PatternLock(this.patternLockController)
        .sideLength(350)            // 設(shè)置寬高
        .circleRadius(15)            // 設(shè)置圓點(diǎn)半徑
        .regularColor(Color.Blue)    // 設(shè)置圓點(diǎn)顏色
        .pathStrokeWidth(30)        // 設(shè)置連線粗細(xì)
        .backgroundColor('rgba(209, 219, 229, 0.95)')
        .autoReset(true)            // 支持用戶在完成輸入后再次觸屏重置組件狀態(tài)
        .border({radius:30})
        .onPatternComplete((input: Array) => {
        })

(2)放置按鈕

wKgZomRfH2KAbg1HAABPtkUGAT0944.png

            Button('清除')
              .width(200)
              .fontSize(20)
              .onClick(() => {
                this.patternLockController.reset();
              })

(3)設(shè)置密碼

wKgaomRfH2OAWNlgAABxjxZuEtg370.png

 @State passwords: Number[] = []

      Text(this.passwords.toString())
        .textAlign(TextAlign.Center)
        .fontSize(22)

        .onPatternComplete((input: Array) => {
          if (input == null || input == undefined || input.length < 5) {
            this.message = "密碼長度至少為5位數(shù)。";
            return;
          }
          if (this.passwords.length > 0) {
            if (this.passwords.toString() == input.toString()) {
              this.passwords = input
              this.message = "密碼設(shè)置成功"
            } else {
              this.message = '密碼輸入錯(cuò)誤'
            }
          } else {
            this.passwords = input
            this.message = "密碼輸入錯(cuò)誤"
          }
        })

(4)修改密碼

wKgZomRfH2OASFpoAACBRsG_DAo600.png

      Button('重置密碼')
        .width(200)
        .fontSize(20)
        .onClick(() => {
          set_flag = 1;
          this.passwords = [];
          this.message = '請(qǐng)輸入新的密碼';
          this.patternLockController.reset();
        })

四、效果展示

wKgaomRfH2SAIOcPAAMFfsVnHbE049.gif

設(shè)置密碼

wKgZomRfH2SAUdf2AAMGelayeGI177.gif

密碼錯(cuò)誤

wKgaomRfH2WALvNkAAGPMAnGNgc430.gif

密碼正確

編輯:黃飛

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

    關(guān)注

    6

    文章

    249

    瀏覽量

    35115
  • ets
    ets
    +關(guān)注

    關(guān)注

    0

    文章

    20

    瀏覽量

    1637
  • OpenHarmony
    +關(guān)注

    關(guān)注

    25

    文章

    3747

    瀏覽量

    16585
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    #深入淺出學(xué)習(xí)eTs#(八)“猜大小”小游戲

    本項(xiàng)目Gitee倉地址:[深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)
    的頭像 發(fā)表于 05-17 15:08 ?1078次閱讀
    #<b class='flag-5'>深入淺出</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>eTs</b>#(八)“猜大小”小游戲

    #深入淺出學(xué)習(xí)eTs#(十)藍(lán)藥丸還是紅藥丸

    本項(xiàng)目Gitee倉地址: 深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)
    的頭像 發(fā)表于 05-17 15:07 ?1002次閱讀
    #<b class='flag-5'>深入淺出</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>eTs</b>#(十)藍(lán)藥丸還是紅藥丸

    九宮格如何解鎖

    請(qǐng)問一下大家,安卓手機(jī)九宮格了怎么解鎖,,,,小弟謝謝了
    發(fā)表于 03-06 17:55

    九宮格圖標(biāo)界面登陸與管理(類似手機(jī)界面)

    請(qǐng)問哪位大師可以推薦類似九宮格圖標(biāo)界面的登陸與管理的例程呢?
    發(fā)表于 10-08 11:48

    九宮格鍵盤 已實(shí)現(xiàn)、大寫 、長按

    ` 本帖最后由 123abcfpga 于 2018-4-28 14:04 編輯 九宮格鍵盤實(shí)現(xiàn)字母輸入大寫長按等功能 提供源碼源碼獲取:有償1積分(資料太貴、積分又沒有,只能靠發(fā)
    發(fā)表于 04-28 13:52

    51內(nèi)核迪文串口屏模擬手勢(shì)解鎖功能九宮格&滑動(dòng))

    實(shí)現(xiàn),會(huì)更加美觀;變量圖標(biāo)用于在判斷為有效觸控時(shí),改變顯示內(nèi)容以達(dá)到提示的效果。 三、九宮格解鎖實(shí)現(xiàn)方法詳解3.1 主流程 3.2 解鎖流程 3.3 設(shè)定密碼流程 3.4 確認(rèn)
    發(fā)表于 10-31 10:51

    Photoshop九宮格制作方法

    Photoshop分享 九宮格制作(升級(jí))
    發(fā)表于 04-07 07:39

    求一種基于Qtopia的采用傳統(tǒng)九宮格方式的中文輸入法設(shè)計(jì)

    基于Qtopia的插件技術(shù),實(shí)現(xiàn)了傳統(tǒng)九宮格方式的中文拼音輸入法,該輸入法在輸入中文時(shí)支持詞語聯(lián)想功能及用戶輸入高頻詞自適應(yīng)功能
    發(fā)表于 04-26 07:01

    #深入淺出學(xué)習(xí)eTs#(七)判斷密碼是否正確

    本項(xiàng)目Gitee倉地址:深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)一
    發(fā)表于 12-29 10:06

    #深入淺出學(xué)習(xí)eTs#(十五)九宮格密碼鎖

    本項(xiàng)目Gitee倉地址:深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)一
    發(fā)表于 12-29 13:55

    STM32深入淺出新手篇

    STM32深入淺出新手篇,很好的單片機(jī)學(xué)習(xí)資料。
    發(fā)表于 03-21 17:43 ?128次下載

    手機(jī)輸入法到底是九宮格好用還是全鍵盤好用

    手機(jī)輸入法到底是九宮格好用還是全鍵盤好用?這個(gè)話題已經(jīng)由來已久。
    的頭像 發(fā)表于 03-18 09:22 ?4636次閱讀

    深入淺出學(xué)習(xí)250個(gè)通信原理資源下載

    深入淺出學(xué)習(xí)250個(gè)通信原理資源下載
    發(fā)表于 04-12 09:16 ?28次下載

    深入淺出學(xué)習(xí)eTs(一)模擬器/真機(jī)環(huán)境搭建

    本項(xiàng)目的Gitee倉地址: 深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com
    的頭像 發(fā)表于 05-13 13:17 ?1773次閱讀
    <b class='flag-5'>深入淺出</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>eTs</b>(一)模擬器/真機(jī)環(huán)境搭建

    深入淺出學(xué)習(xí)eTs(七)如何判斷密碼是否正確

    本項(xiàng)目Gitee倉地址: 深入淺出eTs學(xué)習(xí): 帶大家深入淺出學(xué)習(xí)eTs (gitee.com)
    的頭像 發(fā)表于 05-13 13:20 ?958次閱讀
    <b class='flag-5'>深入淺出</b><b class='flag-5'>學(xué)習(xí)</b><b class='flag-5'>eTs</b>(七)如何判斷<b class='flag-5'>密碼</b>是否正確
    主站蜘蛛池模板: 日本黄色片段 | 狠狠se| 久久久久国产精品四虎 | 色综合天天色 | 欧美精品video| 日本高清视频网站www | 日本三级带日本三级带黄首页 | 亚洲成在 | 羞羞答答91麻豆网站入口 | 欧美性video精品 | 狠狠色噜噜狠狠狠 | 久青草免费在线视频 | 午夜影视在线视频观看免费 | 萝l在线精品社区资源 | 免费大片黄在线观看日本 | 美女黄色毛片免费看 | 视频在线二区 | 中文字幕11页 | 亚洲黄色三级视频 | 国模吧在线视频 | 日韩三级精品 | 国产三级在线观看免费 | 好骚综合在线 | 一区二区三区高清视频在线观看 | 亚洲最大的成网4438 | 午夜在线视频 | 91精品啪国产在线观看免费牛牛 | 奇米奇米 | 国产情侣草莓视频在线 | 亚洲最大成人综合网 | 午夜国产| 最好免费高清视频观看韩国 | 狠狠操狠狠插 | 狠狠狠狠狠狠狠狠 | 日本不卡专区 | 免费观看欧美一级高清 | 欧美涩区 | 农村妇女高清毛片一级 | www.亚洲综合 | 五色网| 拍真实国产伦偷精品 |