添加 PatternLock
到项目
- 第一步: 添加
JitPack
到项目的根build.gradle
中
allprojects {repositories {...maven { url 'https://jitpack.io' }}
}
复制代码
- 第二步:添加库依赖
dependencies {implementation 'com.github.huangziye:PatternLock:${latest_version}'
}
复制代码
- 在 xml 中编写
<com.hzy.lock.PatternLockViewandroid:id="@+id/mPatternLockView"android:layout_width="280dp"android:layout_height="280dp"android:layout_gravity="center_horizontal"android:layout_marginTop="16dp"app:aspectRatio="square"app:aspectRatioEnabled="true"app:dotAnimationDuration="150"app:dotCount="3"app:dotNormalSize="10dp"app:dotSelectedSize="24dp"app:normalStateColor="@color/colorPrimary"app:correctStateColor="@color/colorPrimary"app:wrongStateColor="@color/pomegranate"app:pathEndAnimationDuration="100"app:pathWidth="3dp"/>
复制代码
- 用 kotlin 代码实现
private fun initPatternLockView() {//设置横纵坐标点的个数mPatternLockView.setDotCount(3)//设置未选中点的大小mPatternLockView.setDotNormalSize(ResourceUtil.getDimensionInPx(this,R.dimen.pattern_lock_dot_size) as Int)//设置选中时点的大小mPatternLockView.setDotSelectedSize(ResourceUtil.getDimensionInPx(this,R.dimen.pattern_lock_dot_selected_size) as Int)//设置路径线的宽度mPatternLockView.setPathWidth(ResourceUtil.getDimensionInPx(this,R.dimen.pattern_lock_path_width) as Int)//设置宽高比是否启用mPatternLockView.setAspectRatioEnabled(true)//设置宽高比mPatternLockView.setAspectRatio(PatternLockView.AspectRatio.ASPECT_RATIO_HEIGHT_BIAS)//设置View的模式mPatternLockView.setViewMode(PatternLockView.PatternViewMode.CORRECT)//设置点动画持续时间mPatternLockView.setDotAnimationDuration(150)// 设置Pat结束动画持续时间mPatternLockView.setPathEndAnimationDuration(100)//设置正确的状态颜色mPatternLockView.setCorrectStateColor(ResourceUtil.getColor(this, R.color.colorPrimary))//是否设置为隐身模式mPatternLockView.setInStealthMode(false)//设置是否启用触觉反馈mPatternLockView.setTactileFeedbackEnabled(true)//设置输入是否启用mPatternLockView.setInputEnabled(true)mPatternLockView.addPatternLockListener(mPatternLockViewListener)
}
复制代码
效果预览
关于我
-
简书
-
掘金
-
Github
License
Copyright 2018, huangziyeLicensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License athttp://www.apache.org/licenses/LICENSE-2.0Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.
复制代码