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

溫馨提示×

溫馨提示×

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

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

Flutter中Timer實現短信驗證碼獲取60s倒計時的方法

發布時間:2020-07-09 09:43:59 來源:億速云 閱讀:726 作者:清晨 欄目:開發技術

不懂Flutter中Timer實現短信驗證碼獲取60s倒計時的方法?其實想解決這個問題也不難,下面讓小編帶著大家一起學習怎么去解決,希望大家閱讀完這篇文章后大所收獲。

先看下效果:

Flutter中Timer實現短信驗證碼獲取60s倒計時的方法

兩種需求場景:

1.廣告頁3s后跳轉到首頁

2.短信驗證碼60s倒計時

第一種的話,根據需求我們可以知道,我們想要的效果就是3s結束做出一個動作。

factory Timer(Duration duration, void callback()) {
  if (Zone.current == Zone.root) {
   // No need to bind the callback. We know that the root's timer will
   // be invoked in the root zone.
   return Zone.current.createTimer(duration, callback);
  }
  return Zone.current
    .createTimer(duration, Zone.current.bindCallbackGuarded(callback));
 }

兩個參數,第一個參數超時時間,即多久后執行你想要的動作,第二個參數callback回調方法,即超時后你想要執行的動作是什么,比如跳轉到首頁。

第二種的話就是需要不斷的做出倒計時的動作。

factory Timer.periodic(Duration duration, void callback(Timer timer)) {
  if (Zone.current == Zone.root) {
   // No need to bind the callback. We know that the root's timer will
   // be invoked in the root zone.
   return Zone.current.createPeriodicTimer(duration, callback);
  }
  var boundCallback = Zone.current.bindUnaryCallbackGuarded<Timer>(callback);
  return Zone.current.createPeriodicTimer(duration, boundCallback);
 }

這種調用方式和上面的方式的區別是:第一種只會回調一次,就是超時時間到了之后執行callback回調方法,而Timer.periodic調用方式是循環不斷的調用,比如說通過這種方式,你設置的超時時間是1s的話,那就會每隔1s調用一次callback的回調方法,也就是通過這種方式來實現我們的短信驗證碼60s倒計時獲取。

看下具體用法吧:

 Timer _timer;
 int _timeCount = 60;

觸發事件:

onTap: () {
   _startTimer();
},

處理方法:

void _startTimer() {
  ToastUtil.showTips('短信驗證碼已發送,請注意查收');
  _timer = Timer.periodic(Duration(seconds: 1), (Timer timer) => {
   setState(() {
    if(_timeCount <= 0){
     _autoCodeText = '重新獲取';
     _timer.cancel();
     _timeCount = 60;
    }else {
     _timeCount -= 1;
     _autoCodeText = "$_timeCount" + 's';
    }
   })
  });
 }

感謝你能夠認真閱讀完這篇文章,希望小編分享Flutter中Timer實現短信驗證碼獲取60s倒計時的方法內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!

向AI問一下細節

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

AI

上犹县| 黑龙江省| 松阳县| 花莲县| 敦煌市| 福贡县| 抚宁县| 宁国市| 临安市| 商洛市| 射洪县| 宿迁市| 白城市| 中阳县| 息烽县| 深水埗区| 武隆县| 高邑县| 富蕴县| 于田县| 湖州市| 惠东县| 安塞县| 龙井市| 旺苍县| 托里县| 皮山县| 定西市| 二手房| 高碑店市| 阳泉市| 阳城县| 三江| 河东区| 旬邑县| 阿尔山市| 嘉鱼县| 闽清县| 霍州市| 宾阳县| 凌源市|