一個自定義滑動驗證組件
前段時間項目要求登錄的時候加個滑動驗證的功能。效果如下:
乍一看,還真不知道怎麼下手,後來想了想之前做過一個左滑刪除的控件
源碼在這裏
覺得可以將這個改一下拿來用,只是換個滑動方向,估計成功概率比較大。接着就把以前的代碼翻出來,看看怎麼改,雖然修改過程中遇到些問題,但最終還是達到了想要的效果。
下面說說實現的原理:
實現過程中藉助了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