欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android 中倒計(jì)時(shí)驗(yàn)證兩種常用方式實(shí)例詳解

 更新時(shí)間:2017年06月30日 09:06:22   投稿:lqh  
這篇文章主要介紹了Android 中倒計(jì)時(shí)驗(yàn)證兩種常用方式實(shí)例詳解的相關(guān)資料,需要的朋友可以參考下

Android 中倒計(jì)時(shí)驗(yàn)證兩種常用方式實(shí)例詳解

短信驗(yàn)證碼功能,這里總結(jié)了兩種常用的方式,可以直接拿來使用??磮D:

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

1、第一種方式:Timer

/**
 * Description:自定義Timer
 * <p>
 * Created by Mjj on 2016/12/4.
 */

public class TimeCount extends CountDownTimer {

  private Button button;

  //參數(shù)依次為總時(shí)長,和計(jì)時(shí)的時(shí)間間隔
  public TimeCount(Button button, long millisInFuture, long countDownInterval) {
    super(millisInFuture, countDownInterval);
    this.button = button;
  }

  //計(jì)時(shí)過程顯示
  @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);
  }
}

說明:根據(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();
  }

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

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

相關(guān)文章

  • Android Studio與SVN版本控制程序的協(xié)作使用指南

    Android Studio與SVN版本控制程序的協(xié)作使用指南

    這篇文章主要介紹了Android Studio與SVN版本控制程序的協(xié)作使用指南,使用Gradle插件自動(dòng)填寫SVN號(hào)并發(fā)布到指定目錄的方法,需要的朋友可以參考下
    2016-03-03
  • Android編程開發(fā)之Spinner組件用法

    Android編程開發(fā)之Spinner組件用法

    這篇文章主要介紹了Android編程開發(fā)之Spinner組件用法,結(jié)合實(shí)例形式分析介紹了Android中Spinner組件的功能、定義及具體使用技巧,需要的朋友可以參考下
    2015-12-12
  • Android實(shí)現(xiàn)短視頻畫心效果

    Android實(shí)現(xiàn)短視頻畫心效果

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)短視頻畫心效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • Android開發(fā)常見問題總結(jié)

    Android開發(fā)常見問題總結(jié)

    這篇文章主要介紹了Android開發(fā)常見問題,總結(jié)分析了諸如界面設(shè)計(jì)、多媒體調(diào)用、圖片、動(dòng)畫操作等開發(fā)中常見的問題解決方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-08-08
  • Android 自定義AlertDialog對話框樣式

    Android 自定義AlertDialog對話框樣式

    實(shí)際的項(xiàng)目開發(fā)當(dāng)中,經(jīng)常需要根據(jù)實(shí)際的需求來自定義AlertDialog。最近在開發(fā)一個(gè)WIFI連接的功能,點(diǎn)擊WIFI需要彈出自定義密碼輸入框,具體代碼大家參考下本文
    2017-09-09
  • Android實(shí)現(xiàn)圓形圖片的兩種方式

    Android實(shí)現(xiàn)圓形圖片的兩種方式

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)圓形圖片的兩種方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-11-11
  • Android實(shí)現(xiàn)淘寶倒計(jì)時(shí)功能

    Android實(shí)現(xiàn)淘寶倒計(jì)時(shí)功能

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)淘寶倒計(jì)時(shí),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • Android實(shí)現(xiàn)全局右滑返回

    Android實(shí)現(xiàn)全局右滑返回

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)全局右滑返回,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • Android開發(fā)實(shí)現(xiàn)ListView和adapter配合顯示圖片和文字列表功能示例

    Android開發(fā)實(shí)現(xiàn)ListView和adapter配合顯示圖片和文字列表功能示例

    這篇文章主要介紹了Android開發(fā)實(shí)現(xiàn)ListView和adapter配合顯示圖片和文字列表功能,涉及Android使用ListView結(jié)合adapter適配器實(shí)現(xiàn)圖文顯示功能相關(guān)的布局、解析、權(quán)限控制等操作技巧,需要的朋友可以參考下
    2019-04-04
  • Android編程之軟件的安裝和卸載方法

    Android編程之軟件的安裝和卸載方法

    這篇文章主要介紹了Android編程之軟件的安裝和卸載方法,涉及Android編程實(shí)現(xiàn)軟件的安裝、權(quán)限修改及卸載的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-12-12

最新評論