Android自定義控件實(shí)現(xiàn)短信驗(yàn)證碼自動(dòng)填充
VerifyCodeView
VerifyCodeView是一個(gè)用于輸入驗(yàn)證碼的Android自定義控件,它支持?jǐn)?shù)字類(lèi)型的驗(yàn)證碼,支持自定義外觀,并且支持短信驗(yàn)證碼自動(dòng)填充。
項(xiàng)目地址:VerifyCodeView


在項(xiàng)目中引入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 - 驗(yàn)證碼長(zhǎng)度
- vcTextColor - 驗(yàn)證碼字體顏色
- vcTextSize - 驗(yàn)證碼字體大小,單位sp
- vcTextFont - 驗(yàn)證碼字體樣式文件路徑(assets中的路徑)
- vcDividerWidth - 每個(gè)驗(yàn)證碼之間的間隔距離,單位dp
- vcWrapper - 包裹驗(yàn)證碼的外觀樣式
- vcWrapperStrokeWidth - 包裹驗(yàn)證碼的外觀的線(xiàn)條寬度,單位dp
- vcWrapperColor - 包裹驗(yàn)證碼的外觀顏色
- vcNextWrapperColor - 包裹將要被填充的驗(yàn)證碼的外觀顏色
使用示例
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);
}
});
短信驗(yàn)證碼自動(dòng)填充
SmsVerifyCodeFilter filter = new SmsVerifyCodeFilter();
filter.setSmsSenderStart("1096");
filter.setSmsSenderContains("5225");
filter.setSmsBodyStart("驗(yàn)證短信:");
filter.setSmsBodyContains("驗(yàn)證碼");
filter.setVerifyCodeCount(verifyCodeView.getVcTextCount());
verifyCodeView.startListen(filter);
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android實(shí)現(xiàn)滑塊拼圖驗(yàn)證碼功能
- Android本地驗(yàn)證碼的生成代碼
- Android自定義控件實(shí)現(xiàn)通用驗(yàn)證碼輸入框
- Android自定義View驗(yàn)證碼輸入框
- Android 使用fast-verification實(shí)現(xiàn)驗(yàn)證碼填寫(xiě)功能的實(shí)例代碼
- Android實(shí)現(xiàn)自定義驗(yàn)證碼輸入框效果(實(shí)例代碼)
- Android 自定義驗(yàn)證碼輸入框的實(shí)例代碼(支持粘貼連續(xù)性)
- Android實(shí)現(xiàn)點(diǎn)擊獲取驗(yàn)證碼60秒后重新獲取功能
- Android短信驗(yàn)證碼自動(dòng)填寫(xiě)實(shí)現(xiàn)代碼
- Android 簡(jiǎn)單的實(shí)現(xiàn)滑塊拼圖驗(yàn)證碼功能
相關(guān)文章
mui.init()與mui.plusReady()區(qū)別和關(guān)系
給大家分享一下在使用MUI進(jìn)行APP開(kāi)發(fā)的時(shí)候,mui.init()與mui.plusReady()區(qū)別以及使用上不同之處。2017-11-11
android編程實(shí)現(xiàn)添加文本內(nèi)容到sqlite表中的方法
這篇文章主要介紹了android編程實(shí)現(xiàn)添加文本內(nèi)容到sqlite表中的方法,結(jié)合實(shí)例較為詳細(xì)的分析了Android針對(duì)txt文本文件的讀取及SQL數(shù)據(jù)庫(kù)操作的相關(guān)技巧,需要的朋友可以參考下2015-11-11
Android模仿實(shí)現(xiàn)微博詳情頁(yè)滑動(dòng)固定頂部欄的效果實(shí)例
這篇文章主要給大家介紹了關(guān)于利用Android模仿實(shí)現(xiàn)微博詳情頁(yè)滑動(dòng)固定頂部欄效果的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-11-11
Flutter學(xué)習(xí)之實(shí)現(xiàn)自定義themes詳解
一般情況下我們?cè)趂lutter中搭建的app基本上都是用的是MaterialApp這種設(shè)計(jì)模式,MaterialApp中為我們接下來(lái)使用的按鈕,菜單等提供了統(tǒng)一的樣式,那么這種樣式能不能進(jìn)行修改或者自定義呢?答案是肯定的,一起來(lái)看看吧2023-03-03
Android 狀態(tài)欄的設(shè)置適配問(wèn)題詳解
這篇文章主要介紹了Android 狀態(tài)欄的設(shè)置適配問(wèn)題詳解的相關(guān)資料,需要的朋友可以參考下2017-06-06
Flutter實(shí)現(xiàn)底部和頂部導(dǎo)航欄
這篇文章主要為大家詳細(xì)介紹了Flutter實(shí)現(xiàn)底部和頂部導(dǎo)航欄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07

