最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android實(shí)現(xiàn)獲取驗(yàn)證碼倒計(jì)時(shí)功能

 更新時(shí)間:2017年12月05日 11:12:32   作者:ZhengJiaoCsdn  
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)獲取驗(yàn)證碼倒計(jì)時(shí)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了android獲取驗(yàn)證碼倒計(jì)時(shí)功能的具體代碼,供大家參考,具體內(nèi)容如下

獲取驗(yàn)證碼倒計(jì)時(shí)在現(xiàn)在的App中非常常見(jiàn),他主要的功能點(diǎn)就是給TextView設(shè)置一個(gè)點(diǎn)擊事件,但是當(dāng)點(diǎn)擊后或出現(xiàn)倒計(jì)時(shí),在倒計(jì)時(shí)的時(shí)候點(diǎn)擊是觸發(fā)不了點(diǎn)擊事件的。
等倒計(jì)時(shí)結(jié)束顯示重新獲取驗(yàn)證碼的時(shí)候可以重新觸發(fā)點(diǎn)擊事件;
在真實(shí)的項(xiàng)目中一般都是設(shè)置一分鐘,咱們這里就不設(shè)置那么長(zhǎng)了,設(shè)置10秒;

首先說(shuō)下我這個(gè)demo非常簡(jiǎn)單,工具類(lèi)不用管,直接復(fù)制到項(xiàng)目中,只需要兩步兩行代碼即可:

第一步:初始化工具類(lèi)關(guān)聯(lián)需要實(shí)現(xiàn)倒計(jì)時(shí)功能的TextView

/** 
 * 第一個(gè)參數(shù):TextView控件(需要實(shí)現(xiàn)倒計(jì)時(shí)的TextView) 
 * 第二個(gè)參數(shù):倒計(jì)時(shí)總時(shí)間,以毫秒為單位; 
 * 第三個(gè)參數(shù):漸變事件,最低1秒,也就是說(shuō)設(shè)置0-1000都是以一秒漸變,設(shè)置1000以上改變漸變時(shí)間 
 * 第四個(gè)個(gè)參數(shù):點(diǎn)擊textview之前的背景 
 * 第五個(gè)參數(shù):點(diǎn)擊textview之后的背景 
 */ 
SendSmsTimerUtils mCountDownTimerUtils = new SendSmsTimerUtils(textView, 10000, 1000,R.color.colorAccent,R.color.abcd); 

第二步:在TextView的點(diǎn)擊事件中開(kāi)始倒計(jì)時(shí)

textView.setOnClickListener(new View.OnClickListener() { 
 
  public void onClick(View v) { 
 
    mCountDownTimerUtils.start(); 
  } 
}); 

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

想要了解或者繼續(xù)封裝的同志們可以往下看下工具類(lèi):
其實(shí)這個(gè)工具類(lèi)也不是我自己寫(xiě)的,是在github上無(wú)意間發(fā)現(xiàn)的一個(gè)工具類(lèi),感覺(jué)非常不錯(cuò),就封裝了一下拿過(guò)來(lái)直接使用了:

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("重新獲取驗(yàn)證碼"); 
    mTextView.setClickable(true); 
    mTextView.setBackgroundResource(inFuture); 
  } 
} 

點(diǎn)擊打開(kāi)鏈接免費(fèi)下載源碼

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

静乐县| 揭东县| 禹州市| 万载县| 内乡县| 武隆县| 张家港市| 兰西县| 江津市| 福贡县| 邯郸县| 土默特右旗| 东辽县| 英吉沙县| 上栗县| 达拉特旗| 西贡区| 沾益县| 武清区| 华阴市| 康乐县| 海丰县| 洞头县| 胶州市| 武穴市| 仪征市| 沙湾县| 大余县| 龙江县| 金沙县| 临安市| 库尔勒市| 永顺县| 东乌珠穆沁旗| 安徽省| 甘孜| 望江县| 贵港市| 临猗县| 吉林市| 襄城县|