Android短信驗(yàn)證碼倒計(jì)時(shí)驗(yàn)證的2種常用方式
前言
本文主要介紹的是短信驗(yàn)證碼功能,這里總結(jié)了兩種常用的方式,可以直接拿來(lái)使用。
看圖
計(jì)時(shí)器
說(shuō)明:這里的及時(shí)從10開始,是為了演示的時(shí)間不要等太長(zhǎng)而修改的。
方法如下
1、第一種方式:Timer
/** * Description:自定義Timer * <p> * Created by Mjj on 2016/12/4. */ public class TimeCount extends CountDownTimer { private Button button; //參數(shù)依次為總時(shí)長(zhǎng),和計(jì)時(shí)的時(shí)間間隔 public TimeCount(Button button, long millisInFuture, long countDownInterval) { super(millisInFuture, countDownInterval); this.button = button; } //計(jì)時(shí)過(guò)程顯示 @Override public void onTick(long millisUntilFinished) { String time = "(" + millisUntilFinished / 1000 + ")秒"; setButtonInfo(time, "#c1c1c1", false); } //計(jì)時(shí)完畢時(shí)觸發(fā) @Override public void onFinish() { setButtonInfo("重新獲取", "#f95353", true); } /** * 驗(yàn)證按鈕在點(diǎn)擊前后相關(guān)設(shè)置 * * @param content 要顯示的內(nèi)容 * @param color 顏色值 * @param isClick 是否可點(diǎn)擊 */ private void setButtonInfo(String content, String color, boolean isClick) { button.setText(content); button.setBackgroundColor(Color.parseColor(color)); button.setClickable(isClick); } }
說(shuō)明:根據(jù)自己的需求,在這里修改背景顏色和不同狀態(tài)顯示文字即可,在需要監(jiān)聽的按鈕下直接調(diào)用new TimerCount(xxx,xxx,xxx).start()即可。
2、第二種方式:Handler
/** * 第二種方式:使用Handler * <p> * 靜態(tài)內(nèi)部類:避免內(nèi)存泄漏 */ private static class MyHandler extends Handler { private final WeakReference<MainActivity> weakReference; public MyHandler(MainActivity activity) { weakReference = new WeakReference<MainActivity>(activity); } @Override public void handleMessage(Message msg) { super.handleMessage(msg); MainActivity activity = weakReference.get(); if (activity != null) { switch (msg.what) { case 0: if (msg.arg1 == 0) { btn2.setText("重新獲取"); btn2.setBackgroundColor(Color.parseColor("#f95353")); btn2.setClickable(true); } else { btn2.setText("(" + msg.arg1 + ")秒"); btn2.setBackgroundColor(Color.parseColor("#c1c1c1")); btn2.setClickable(false); } break; } } } } /** * 監(jiān)聽按鈕下直接調(diào)用即可 */ private void sendMessageClick() { new Thread(new Runnable() { @Override public void run() { for (int i = 59; i >= 0; i--) { Message msg = myHandler.obtainMessage(); msg.arg1 = i; myHandler.sendMessage(msg); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }).start(); }
說(shuō)明:此種方式采用的handler實(shí)時(shí)接收消息來(lái)設(shè)置Button的狀態(tài),對(duì)于消息的發(fā)送用的是sendMessage方式,也可以使用post方式。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定幫助,如果有疑問(wèn)大家可以留言交流。
- OpenHarmony實(shí)現(xiàn)類Android短信驗(yàn)證碼及倒計(jì)時(shí)流程詳解
- Android自定義短信倒計(jì)時(shí)view流程分析
- Android使用CountDownTimer模擬短信驗(yàn)證倒計(jì)時(shí)
- Android使用Kotlin和RxJava 2.×實(shí)現(xiàn)短信驗(yàn)證碼倒計(jì)時(shí)效果
- Android 用RxBinding與RxJava2實(shí)現(xiàn)短信驗(yàn)證碼倒計(jì)時(shí)功能
- Android實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼倒計(jì)時(shí)功能示例
- Android自定義Chronometer實(shí)現(xiàn)短信驗(yàn)證碼秒表倒計(jì)時(shí)功能
- Android開發(fā)之獲取短信驗(yàn)證碼后按鈕背景變化并且出現(xiàn)倒計(jì)時(shí)
- Android封裝實(shí)現(xiàn)短信驗(yàn)證碼的獲取倒計(jì)時(shí)
相關(guān)文章
Android實(shí)現(xiàn)一個(gè)包含表格的圖標(biāo)庫(kù)實(shí)例代碼
這篇文章主要介紹了Android實(shí)現(xiàn)一個(gè)包含表格的圖標(biāo)庫(kù)的實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-01-01Android實(shí)現(xiàn)畫板、寫字板功能(附源碼下載)
這篇文章主要介紹了Android實(shí)現(xiàn)畫板、寫字板功能的方法,文中給出了簡(jiǎn)單的介紹和示例代碼,想要了解更多的朋友可以下載源碼進(jìn)行學(xué)習(xí),感興趣的朋友們下面來(lái)一起看看吧。2017-01-01Android 實(shí)現(xiàn)徹底退出自己APP 并殺掉所有相關(guān)的進(jìn)程
這篇文章主要介紹了Android 實(shí)現(xiàn)徹底退出自己APP 并殺掉所有相關(guān)的進(jìn)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-03-03Android項(xiàng)目實(shí)現(xiàn)黑名單攔截效果
本篇文章主要介紹了Android項(xiàng)目實(shí)現(xiàn)黑名單攔截效果,可以根據(jù)白名單或者黑名單攔截,測(cè)試可以攔截電話,有需要的朋友可以了解一下。2016-10-10Android 實(shí)現(xiàn)密碼輸入框動(dòng)態(tài)明文/密文切換顯示效果
在項(xiàng)目中遇到需要提供給用戶一個(gè)密碼輸入框明文/密文切換顯示的需求,今天小編借腳本之家平臺(tái)給大家分享下Android 實(shí)現(xiàn)密碼輸入框動(dòng)態(tài)明文/密文切換顯示效果,需要的朋友參考下2017-01-01Android編程之短信竊聽器實(shí)現(xiàn)方法
這篇文章主要介紹了Android編程之短信竊聽器實(shí)現(xiàn)方法,以實(shí)例形式較為詳細(xì)的分析了Android編程實(shí)現(xiàn)竊聽器的具體步驟與實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-11-11Android讀取本地照片和視頻相冊(cè)實(shí)例代碼
本篇文章主要介紹了Android讀取本地照片和視頻相冊(cè)實(shí)例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06Android自定義控件實(shí)現(xiàn)邊緣凹凸的卡劵效果
這篇文章主要介紹了Android自定義控件實(shí)現(xiàn)邊緣凹凸的卡劵效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-07