91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何在Android中實現一個驗證碼倒計時功能

發布時間:2021-01-28 10:45:39 來源:億速云 閱讀:219 作者:Leah 欄目:移動開發

本篇文章為大家展示了如何在Android中實現一個驗證碼倒計時功能,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

第一步:初始化工具類關聯需要實現倒計時功能的TextView

/** 
 * 第一個參數:TextView控件(需要實現倒計時的TextView) 
 * 第二個參數:倒計時總時間,以毫秒為單位; 
 * 第三個參數:漸變事件,最低1秒,也就是說設置0-1000都是以一秒漸變,設置1000以上改變漸變時間 
 * 第四個個參數:點擊textview之前的背景 
 * 第五個參數:點擊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(); 
  } 
});

前后加一起兩行代碼直接搞定;

想要了解或者繼續封裝的同志們可以往下看下工具類:
其實這個工具類也不是我自己寫的,是在github上無意間發現的一個工具類,感覺非常不錯,就封裝了一下拿過來直接使用了:

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 + "秒后可重新發送"); 
    mTextView.setBackgroundResource(downInterval);  
 
    SpannableString spannableString = new SpannableString(mTextView.getText().toString()); 
    ForegroundColorSpan span = new ForegroundColorSpan(Color.RED); 
    //設置秒數為紅色 
    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); 
  } 
}

上述內容就是如何在Android中實現一個驗證碼倒計時功能,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

闻喜县| 邹城市| 云龙县| 平阳县| 洛宁县| 泽州县| 陕西省| 天门市| 池州市| 无极县| 舒城县| 苏尼特左旗| 施甸县| 石城县| 灵武市| 神池县| 石首市| 耒阳市| 韶山市| 广安市| 新龙县| 区。| 洛川县| 鄂托克前旗| 确山县| 林芝县| 衡水市| 平遥县| 措美县| 罗平县| 兰溪市| 阜新市| 平武县| 淮安市| 麻阳| 思南县| 通州市| 柯坪县| 永善县| 永济市| 洪江市|