Android實現(xiàn)獲取驗證碼倒計時功能
本文實例為大家分享了android獲取驗證碼倒計時功能的具體代碼,供大家參考,具體內(nèi)容如下
獲取驗證碼倒計時在現(xiàn)在的App中非常常見,他主要的功能點就是給TextView設(shè)置一個點擊事件,但是當點擊后或出現(xiàn)倒計時,在倒計時的時候點擊是觸發(fā)不了點擊事件的。
等倒計時結(jié)束顯示重新獲取驗證碼的時候可以重新觸發(fā)點擊事件;
在真實的項目中一般都是設(shè)置一分鐘,咱們這里就不設(shè)置那么長了,設(shè)置10秒;
首先說下我這個demo非常簡單,工具類不用管,直接復(fù)制到項目中,只需要兩步兩行代碼即可:
第一步:初始化工具類關(guān)聯(lián)需要實現(xiàn)倒計時功能的TextView
/** * 第一個參數(shù):TextView控件(需要實現(xiàn)倒計時的TextView) * 第二個參數(shù):倒計時總時間,以毫秒為單位; * 第三個參數(shù):漸變事件,最低1秒,也就是說設(shè)置0-1000都是以一秒漸變,設(shè)置1000以上改變漸變時間 * 第四個個參數(shù):點擊textview之前的背景 * 第五個參數(shù):點擊textview之后的背景 */ SendSmsTimerUtils mCountDownTimerUtils = new SendSmsTimerUtils(textView, 10000, 1000,R.color.colorAccent,R.color.abcd);
第二步:在TextView的點擊事件中開始倒計時
textView.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { mCountDownTimerUtils.start(); } });
前后加一起兩行代碼直接搞定;
想要了解或者繼續(xù)封裝的同志們可以往下看下工具類:
其實這個工具類也不是我自己寫的,是在github上無意間發(fā)現(xiàn)的一個工具類,感覺非常不錯,就封裝了一下拿過來直接使用了:
public class SendSmsTimerUtils extends CountDownTimer { private int inFuture; private int downInterval; private TextView mTextView; public SendSmsTimerUtils(TextView textView, long millisInFuture, long countDownInterval, int inFuture, int downInterval) { super(millisInFuture, countDownInterval); this.mTextView = textView; this.inFuture=inFuture; this.downInterval=downInterval; } public void onTick(long millisUntilFinished) { mTextView.setClickable(false); mTextView.setText(millisUntilFinished / 1000 + "秒后可重新發(fā)送"); mTextView.setBackgroundResource(downInterval); SpannableString spannableString = new SpannableString(mTextView.getText().toString()); ForegroundColorSpan span = new ForegroundColorSpan(Color.RED); //設(shè)置秒數(shù)為紅色 if (millisUntilFinished/1000 > 9) { spannableString.setSpan(span, 0, 2, Spannable.SPAN_INCLUSIVE_EXCLUSIVE); } else { spannableString.setSpan(span, 0, 1, Spannable.SPAN_INCLUSIVE_EXCLUSIVE); } mTextView.setText(spannableString); } @Override public void onFinish() { mTextView.setText("重新獲取驗證碼"); mTextView.setClickable(true); mTextView.setBackgroundResource(inFuture); } }
點擊打開鏈接免費下載源碼
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
- Android賬號注冊實現(xiàn)點擊獲取驗證碼倒計時效果
- Android開發(fā)之獲取短信驗證碼后按鈕背景變化并且出現(xiàn)倒計時
- Android短信驗證碼倒計時驗證的2種常用方式
- Android實現(xiàn)發(fā)送短信驗證碼倒計時功能示例
- Android自定義View獲取注冊驗證碼倒計時按鈕
- Android獲取驗證碼倒計時顯示效果
- Android自定義Chronometer實現(xiàn)短信驗證碼秒表倒計時功能
- Android中驗證碼倒計時的簡單實現(xiàn)方法示例
- Android自定義控件實現(xiàn)驗證碼倒計時
- Android手機注冊登錄時獲取驗證碼之后倒計時功能(知識點總結(jié))
相關(guān)文章
Android之Viewpager+Fragment實現(xiàn)懶加載示例
本篇文章主要介紹了Android之Viewpager+Fragment實現(xiàn)懶加載示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-03-03詳解Android 語音播報實現(xiàn)方案(無SDK)
本篇文章主要介紹了詳解Android 語音播報實現(xiàn)方案(無SDK),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11Android Flutter實現(xiàn)圖片滑動切換效果
Flutter 為了簡化開發(fā),提供了不少轉(zhuǎn)換動畫組件,這類組件通常命名為 xxTransition。本篇要介紹的就是 SlideTransition,并用它實現(xiàn)圖片滑動切換效果,感興趣的可以了解一下2022-04-04