Android使用更簡(jiǎn)單的方式實(shí)現(xiàn)滑塊拼圖驗(yàn)證碼功能
實(shí)現(xiàn)滑塊拼圖驗(yàn)證碼功能之前已經(jīng)寫過(guò)一篇了,上一篇使用的是自定義控件的方式實(shí)現(xiàn)這個(gè)功能,主要還是想讓童鞋們知其然更知其所以然,還沒(méi)看的童鞋可以先看看Android實(shí)現(xiàn)滑塊拼圖驗(yàn)證碼功能這篇。
在項(xiàng)目的開(kāi)發(fā)過(guò)程中,時(shí)間比較緊急,通過(guò)自定義的方式很顯然需要耗費(fèi)很多時(shí)間去寫,所以我們需要使用更簡(jiǎn)單的方式實(shí)現(xiàn),這樣會(huì)幫我們節(jié)省很多時(shí)間去解決其它的問(wèn)題,使用依賴庫(kù)的方式顯然是最節(jié)省時(shí)間的,下面我們來(lái)看看是怎么實(shí)現(xiàn)的吧!
本篇主要從兩方面進(jìn)行介紹:
1、使用依賴庫(kù)實(shí)現(xiàn)最終的功能;
2、依賴庫(kù)的介紹;
實(shí)現(xiàn)過(guò)程:
1、效果圖

2、在 app 的 build.gradle 添加依賴
implementation 'com.luozm.captcha:captcha:1.1.2'3、將 Captcha 添加至布局文件
<com.luozm.captcha.Captchaandroid:id="@+id/captCha"android:layout_width="match_parent"app:mode="mode_bar"app:src="@drawable/img_flower"app:blockSize="50dp"app:max_fail_count="5"android:visibility="visible"android:layout_height="wrap_content"/>
4、使用Java代碼驗(yàn)證處理
captcha = findViewById(R.id.captCha);captcha.setCaptchaListener(new Captcha.CaptchaListener() {@Overridepublic String onAccess(long time) {Toast.makeText(MainActivity.this, "驗(yàn)證成功", Toast.LENGTH_SHORT).show();return "驗(yàn)證通過(guò)";}@Overridepublic String onFailed(int count) {Toast.makeText(MainActivity.this, "驗(yàn)證失敗,失敗次數(shù)" + count, Toast.LENGTH_SHORT).show();return "驗(yàn)證失敗";}@Overridepublic String onMaxFailed() {Toast.makeText(MainActivity.this, "驗(yàn)證超過(guò)次數(shù),你的帳號(hào)被封鎖", Toast.LENGTH_SHORT).show();return "可以走了";}});
如果是實(shí)現(xiàn)效果圖功能的話,到這里就完成了,是不是很簡(jiǎn)單呢!
接下來(lái)我們對(duì)這個(gè)庫(kù)進(jìn)行介紹:
1、基本功能特點(diǎn):
簡(jiǎn)單,實(shí)用,只需一兩句代碼即可使用
采用策略模式為使用者開(kāi)放自定義拼圖樣式策略,對(duì)拼圖樣式(拼圖形狀、視覺(jué)效果)進(jìn)行定制
自選模式,無(wú)滑動(dòng)條模式(手觸移動(dòng)),有滑動(dòng)條模式
通過(guò)監(jiān)聽(tīng)器回調(diào)用戶可獲得驗(yàn)證通過(guò)時(shí)間和驗(yàn)證失敗的次數(shù)以對(duì)這些情況進(jìn)行進(jìn)一步處理(如對(duì)帳號(hào)進(jìn)行封鎖,禁止部分操作)提高安全性
支持加載網(wǎng)絡(luò)圖片
2、代碼設(shè)置方法

3、captcha布局文件中調(diào)用

4、可以自定義拼圖樣式
5、還可以自定義滑塊條
具體怎么實(shí)現(xiàn)的,感興趣的童鞋可以看看這個(gè)依賴庫(kù),依賴庫(kù)地址:
https://github.com/luozhanming/Captcha
到這里就結(jié)束啦!
