真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android中如何實現(xiàn)倒計時驗證

這篇文章主要介紹了Android中如何實現(xiàn)倒計時驗證,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、重慶小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了陽谷免費建站歡迎大家使用!

短信驗證碼功能,這里總結(jié)了兩種常用的方式,可以直接拿來使用。看圖:

Android中如何實現(xiàn)倒計時驗證

說明:這里的及時從10開始,是為了演示的時間不要等太長而修改的。

1、第一種方式:Timer

/**
 * Description:自定義Timer
 * 

 * Created by Mjj on 2016/12/4.  */ public class TimeCount extends CountDownTimer {   private Button button;   //參數(shù)依次為總時長,和計時的時間間隔   public TimeCount(Button button, long millisInFuture, long countDownInterval) {     super(millisInFuture, countDownInterval);     this.button = button;   }   //計時過程顯示   @Override   public void onTick(long millisUntilFinished) {     String time = "(" + millisUntilFinished / 1000 + ")秒";     setButtonInfo(time, "#c1c1c1", false);   }   //計時完畢時觸發(fā)   @Override   public void onFinish() {     setButtonInfo("重新獲取", "#f95353", true);   }   /**    * 驗證按鈕在點擊前后相關(guān)設(shè)置    *    * @param content 要顯示的內(nèi)容    * @param color  顏色值    * @param isClick 是否可點擊    */   private void setButtonInfo(String content, String color, boolean isClick) {     button.setText(content);     button.setBackgroundColor(Color.parseColor(color));     button.setClickable(isClick);   } }

說明:根據(jù)自己的需求,在這里修改背景顏色和不同狀態(tài)顯示文字即可,在需要監(jiān)聽的按鈕下直接調(diào)用new TimerCount(xxx,xxx,xxx).start()即可。

2、第二種方式:Handler

/**
   * 第二種方式:使用Handler
   * 

   * 靜態(tài)內(nèi)部類:避免內(nèi)存泄漏    */   private static class MyHandler extends Handler {     private final WeakReference weakReference;     public MyHandler(MainActivity activity) {       weakReference = new WeakReference(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();   }

說明:此種方式采用的handler實時接收消息來設(shè)置Button的狀態(tài),對于消息的發(fā)送用的是sendMessage方式,也可以使用post方式。

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Android中如何實現(xiàn)倒計時驗證”這篇文章對大家有幫助,同時也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識等著你來學習!


網(wǎng)頁標題:Android中如何實現(xiàn)倒計時驗證
當前網(wǎng)址:http://weahome.cn/article/jgpshc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部