溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用Android實現(xiàn)九宮格手勢解鎖

發(fā)布時間:2021-04-17 09:39:54 來源:億速云 閱讀:146 作者:小新 欄目:移動開發(fā)

這篇文章主要介紹了如何使用Android實現(xiàn)九宮格手勢解鎖,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

具體內(nèi)容如下

這里是使用的開源庫GestureLibray

里面有關(guān)于這個東西的介紹和接入方式,這里就不累贅了,我只是說下里面沒有的。

關(guān)于這個庫的使用:

protected void initViews() {
    //設(shè)置模式
    LockMode lockMode = (LockMode) getIntent().getSerializableExtra(Config.INTENT_SECONDACTIVITY_KEY);
    //是否顯示手勢的方向箭頭
    lv_lock.setShow(false);
    //允許輸入錯誤的次數(shù)
    lv_lock.setErrorNumber(Config.GESTURE_ERROR_COUNT);
    //設(shè)置手勢密碼的最小長度
    lv_lock.setPasswordMinLength(Config.GESTURE_LENGTH);
    //密碼設(shè)置后立即保存在本地
    lv_lock.setSavePin(true);
    //設(shè)置保存在本地的手勢密碼的鍵
    lv_lock.setSaveLockKey(Config.ZHCS_GESTURE_PWD_KEY);
    //設(shè)置密碼:LockMode.SETTING_PASSWORD
    //修改密碼:LockMode.EDIT_PASSWORD
    //驗證密碼:LockMode.VERIFY_PASSWORD
    //清除密碼:LockMode.CLEAR_PASSWORD
    switch (lockMode)
    {
      case CLEAR_PASSWORD:
        lable = "清除密碼";
        break;
      case EDIT_PASSWORD:
        lable = "修改密碼";
        setOldPassword();
        break;
      case SETTING_PASSWORD:
        lable = "設(shè)置密碼";
        break;
      case VERIFY_PASSWORD:
        lable = "驗證密碼";
        //設(shè)置舊密碼
        setOldPassword();
        break;
    }
    lv_lock.setMode(lockMode);
    //設(shè)置密碼輸入接口回調(diào)
    lv_lock.setOnCompleteListener(onCompleteListener);
  }
 
  /**
   * s設(shè)置舊密碼
   */
  private void setOldPassword() {
    String oldPwd = ConfigUtil.getInstance(this).getString(Config.ZHCS_GESTURE_PWD_KEY);
    lv_lock.setOldPassword(oldPwd);
  }
 
  CustomLockView.OnCompleteListener onCompleteListener = new CustomLockView.OnCompleteListener() {
    @Override
    public void onComplete(String password, int[] indexs) {
      ToastUtil.showShortToast(lable+"成功");
      //finish();
    }
    @Override
    public void onError(String errorTimes) {
      ToastUtil.showShortToast("密碼錯誤,還可以輸入" + errorTimes + "次");
    }
    @Override
    public void onPasswordIsShort(int passwordMinLength) {
      ToastUtil.showShortToast("密碼不能少于" + passwordMinLength + "個點");
    }
    @Override
    public void onAginInputPassword(LockMode mode, String password, int[] indexs) {
      ToastUtil.showShortToast("請再次輸入密碼");
    }
    @Override
    public void onInputNewPassword() {
      ToastUtil.showShortToast("請輸入新密碼");
    }
    @Override
    public void onEnteredPasswordsDiffer() {
      ToastUtil.showShortToast("兩次輸入的密碼不一致");
    }
    @Override
    public void onErrorNumberMany() {
      ToastUtil.showShortToast("密碼錯誤次數(shù)超過限制,不能再輸入");
    }
  };

值得注意的是,在驗證手勢密碼和修改手勢密碼的時候需要用到舊密碼,而這個舊密碼我斷點帶源碼里面去發(fā)現(xiàn)是空的,并沒主動去獲取,需要我們手動設(shè)置,就是用到ConfigUtil這個類。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何使用Android實現(xiàn)九宮格手勢解鎖”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI