一個自定義滑動驗證組件

一個自定義滑動驗證組件

前段時間項目要求登錄的時候加個滑動驗證的功能。效果如下:

在這裏插入圖片描述
乍一看,還真不知道怎麼下手,後來想了想之前做過一個左滑刪除的控件
源碼在這裏

在這裏插入圖片描述

覺得可以將這個改一下拿來用,只是換個滑動方向,估計成功概率比較大。接着就把以前的代碼翻出來,看看怎麼改,雖然修改過程中遇到些問題,但最終還是達到了想要的效果。

下面說說實現的原理:

實現過程中藉助了ViewDragHelper這個類來簡化代碼,ViewDragHelper的用法可以參考這篇文章。實現原理是這樣的,用一個水平方向的LinearLayout包裹兩個view,A在左,B在右,且B可以被拖動,初始狀態下A被隱藏起來,當B被往右拖動時,改變A的left/right座標,再重繪,看起來就像A是被B拖出來的一樣。

在這裏插入圖片描述
初始狀態,只顯示滑塊,藍色塊被隱藏

在這裏插入圖片描述
拖動滑塊帶出藍色塊

在這裏插入圖片描述
直到拖出全部

原理就是這樣的,很簡單,具體代碼的話就看源碼吧,有註釋,也好理解。有apk,可以先下來看看效果。下載apk

demo源碼:https://github.com/MingHuang1024/SwipeLayoutForCheck




由於水平有限,如果文中存在錯誤之處,請大家批評指正,歡迎大家一起來分享、探討!

博客:http://blog.csdn.net/MingHuang2017

GitHub:https://github.com/MingHuang1024

Email: [email protected]

ang1024)

Email: [email protected]

微信:724360018

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章