Android自定義控件實現(xiàn)短信驗證碼自動填充
VerifyCodeView
VerifyCodeView是一個用于輸入驗證碼的Android自定義控件,它支持數(shù)字類型的驗證碼,支持自定義外觀,并且支持短信驗證碼自動填充。
項目地址:VerifyCodeView


在項目中引入VerifyCodeView
Gradle
dependencies {
compile 'com.github.gongw:verifycodeview:1.0.2'
}
Maven
<dependency> <groupId>com.github.gongw</groupId> <artifactId>verifycodeview</artifactId> <version>1.0.2</version> <type>pom</type> </dependency>
支持的自定義屬性
- vcTextCount - 驗證碼長度
- vcTextColor - 驗證碼字體顏色
- vcTextSize - 驗證碼字體大小,單位sp
- vcTextFont - 驗證碼字體樣式文件路徑(assets中的路徑)
- vcDividerWidth - 每個驗證碼之間的間隔距離,單位dp
- vcWrapper - 包裹驗證碼的外觀樣式
- vcWrapperStrokeWidth - 包裹驗證碼的外觀的線條寬度,單位dp
- vcWrapperColor - 包裹驗證碼的外觀顏色
- vcNextWrapperColor - 包裹將要被填充的驗證碼的外觀顏色
使用示例
xml
<com.github.gongw.VerifyCodeView android:layout_width="240dp" android:layout_height="50dp" android:layout_marginTop="42dp" app:vcTextColor="#b63b21" app:vcTextCount="4" app:vcTextSize="36sp" app:vcDividerWidth="8dp" app:vcWrapper="centerLine" app:vcWrapperColor="#313335" app:vcNextWrapperColor="#b63b21" app:vcWrapperStrokeWidth="2dp" />
java
verifycodeView.setOnAllFilledListener(new VerifyCodeView.OnAllFilledListener() {
@Override
public void onAllFilled(String text) {
Toast.makeText(MainActivity.this, "filled by "+text, Toast.LENGTH_SHORT).show();
}
});
自定義外觀
verifycodeView.setVcWrapper(new VerifyCodeWrapper() {
@Override
public boolean isCovered() {
//whether the wrapper and verify code display together
return false;
}
@Override
public void drawWrapper(Canvas canvas, Paint paint, RectF rectF, RectF textRectF) {
//draw your own wrapper
canvas.drawLine(textRectF.left - textRectF.width()/2, rectF.height()/2, textRectF.right + textRectF.width() / 2, rectF.height()/2, paint);
}
});
短信驗證碼自動填充
SmsVerifyCodeFilter filter = new SmsVerifyCodeFilter();
filter.setSmsSenderStart("1096");
filter.setSmsSenderContains("5225");
filter.setSmsBodyStart("驗證短信:");
filter.setSmsBodyContains("驗證碼");
filter.setVerifyCodeCount(verifyCodeView.getVcTextCount());
verifyCodeView.startListen(filter);
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Android實現(xiàn)自定義帶文字和圖片Button的方法
這篇文章主要介紹了Android實現(xiàn)自定義帶文字和圖片Button的方法,涉及Android針對Button按鈕的布局與設(shè)計技巧,需要的朋友可以參考下2015-05-05
Android系統(tǒng)開發(fā)中l(wèi)og的使用方法及簡單的原理
LOG是廣泛使用的用來記錄程序執(zhí)行過程的機制,它既可以用于程序調(diào)試,也可以用于產(chǎn)品運營中的事件記錄;在平時開發(fā)過程中經(jīng)常需要與log打交道,所以很有必要了解log的使用方法及簡單的原理,感興趣的朋友可以了解下啊2013-01-01
Android中使用socket通信實現(xiàn)消息推送的方法詳解
這篇文章主要介紹了Android中使用socket通信實現(xiàn)消息推送的方法,文中舉了一個消息發(fā)送端和一個消息接收端以及服務(wù)器端的例子來說明原理并且展示了客戶端的實現(xiàn),需要的朋友可以參考下2016-04-04
MPAndroidChart繪制自定義運動數(shù)據(jù)圖表示例詳解
這篇文章主要為大家介紹了MPAndroidChart繪制自定義運動數(shù)據(jù)圖表示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-09-09
Android啟動頁設(shè)置及動態(tài)權(quán)限跳轉(zhuǎn)問題解決
在我遇到這個實際問題之前,我一直認為啟動頁的作用是美化產(chǎn)品,提升軟件逼格。但實際上,它更重要的是起到了一個攔截器的作用,這篇文章主要介紹了Android啟動頁設(shè)置以及動態(tài)權(quán)限跳轉(zhuǎn),需要的朋友可以參考下2022-04-04

