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

Flutter之Timer實(shí)現(xiàn)短信驗(yàn)證碼獲取60s倒計(jì)時(shí)功能的代碼

 更新時(shí)間:2020年07月08日 11:59:20   作者:管管  
這篇文章主要介紹了Flutter之Timer實(shí)現(xiàn)短信驗(yàn)證碼獲取60s倒計(jì)時(shí)功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

先看下效果:

兩種需求場(chǎng)景:

1.廣告頁(yè)3s后跳轉(zhuǎn)到首頁(yè)

2.短信驗(yàn)證碼60s倒計(jì)時(shí)

第一種的話,根據(jù)需求我們可以知道,我們想要的效果就是3s結(jié)束做出一個(gè)動(dòng)作。

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));
 }

兩個(gè)參數(shù),第一個(gè)參數(shù)超時(shí)時(shí)間,即多久后執(zhí)行你想要的動(dòng)作,第二個(gè)參數(shù)callback回調(diào)方法,即超時(shí)后你想要執(zhí)行的動(dòng)作是什么,比如跳轉(zhuǎn)到首頁(yè)。

第二種的話就是需要不斷的做出倒計(jì)時(shí)的動(dòng)作。

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);
 }

這種調(diào)用方式和上面的方式的區(qū)別是:第一種只會(huì)回調(diào)一次,就是超時(shí)時(shí)間到了之后執(zhí)行callback回調(diào)方法,而Timer.periodic調(diào)用方式是循環(huán)不斷的調(diào)用,比如說(shuō)通過(guò)這種方式,你設(shè)置的超時(shí)時(shí)間是1s的話,那就會(huì)每隔1s調(diào)用一次callback的回調(diào)方法,也就是通過(guò)這種方式來(lái)實(shí)現(xiàn)我們的短信驗(yàn)證碼60s倒計(jì)時(shí)獲取。

看下具體用法吧:

 Timer _timer;
 int _timeCount = 60;

觸發(fā)事件:

onTap: () {
   _startTimer();
},

處理方法:

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

到此這篇關(guān)于Flutter之Timer實(shí)現(xiàn)短信驗(yàn)證碼獲取60s倒計(jì)時(shí)功能的代碼的文章就介紹到這了,更多相關(guān)Flutter短信驗(yàn)證碼倒計(jì)時(shí)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Android自定義評(píng)分控件的完整實(shí)例

    Android自定義評(píng)分控件的完整實(shí)例

    在Android開(kāi)發(fā)中,我們經(jīng)常會(huì)用到對(duì)商家或者商品的評(píng)價(jià),運(yùn)用星星進(jìn)行打分,下面這篇文章主要給大家介紹了關(guān)于Android自定義評(píng)分控件的相關(guān)資料,文中通過(guò)圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-05-05
  • 基于Android中獲取資源的id和url方法總結(jié)

    基于Android中獲取資源的id和url方法總結(jié)

    下面小編就為大家分享一篇基于Android中獲取資源的id和url方法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-02-02
  • Eclipse NDK遷移到Android Studio的方法示例

    Eclipse NDK遷移到Android Studio的方法示例

    本篇文章主要介紹了Eclipse NDK遷移到Android Studio的方法示例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Android編程滑動(dòng)效果之Gallery仿圖像集瀏覽實(shí)現(xiàn)方法

    Android編程滑動(dòng)效果之Gallery仿圖像集瀏覽實(shí)現(xiàn)方法

    這篇文章主要介紹了Android編程滑動(dòng)效果之Gallery仿圖像集瀏覽實(shí)現(xiàn)方法,結(jié)合實(shí)例形式詳細(xì)分析了Gallery瀏覽圖片的原理、步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2016-02-02
  • Android?Camera實(shí)現(xiàn)旋轉(zhuǎn)角度

    Android?Camera實(shí)現(xiàn)旋轉(zhuǎn)角度

    這篇文章主要為大家詳細(xì)介紹了Android?Camera實(shí)現(xiàn)旋轉(zhuǎn)角度,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • Android Studio gradle配置packagingOptions打包so庫(kù)重復(fù)

    Android Studio gradle配置packagingOptions打包so庫(kù)重復(fù)

    這篇文章主要為大家介紹了Android Studio gradle配置packagingOptions打包so庫(kù)重復(fù)問(wèn)題的解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • Android超清晰6.0權(quán)限申請(qǐng)AndPermission

    Android超清晰6.0權(quán)限申請(qǐng)AndPermission

    這篇文章主要介紹了Android超清晰6.0權(quán)限申請(qǐng)AndPermission,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • 淺析Flutter AbsorbPointer 與 IgnorePointer的區(qū)別

    淺析Flutter AbsorbPointer 與 IgnorePointer的區(qū)別

    Flutter是Google一個(gè)新的用于構(gòu)建跨平臺(tái)的手機(jī)App的SDK。這篇文章主要介紹了Flutter AbsorbPointer 與 IgnorePointer的區(qū)別,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Android Activity啟動(dòng)模式之singleTop實(shí)例詳解

    Android Activity啟動(dòng)模式之singleTop實(shí)例詳解

    這篇文章主要介紹了Android Activity啟動(dòng)模式之singleTop,結(jié)合實(shí)例形式較為詳細(xì)的分析了singleTop模式的功能、使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-01-01
  • Android事件分發(fā)機(jī)制的詳解

    Android事件分發(fā)機(jī)制的詳解

    這篇文章主要介紹了Android事件分發(fā)機(jī)制的詳解的相關(guān)資料,希望通過(guò)本文能幫助到大家,讓大家理解掌握Android事件分發(fā)機(jī)制,需要的朋友可以參考下
    2017-09-09

最新評(píng)論

芜湖县| 黑龙江省| 罗定市| 宜都市| 渑池县| 宁津县| 孝昌县| 仪征市| 清河县| 忻城县| 石狮市| 白城市| 商河县| 阜城县| 昌乐县| 宿迁市| 龙陵县| 屏南县| 临桂县| 吉林省| 吉水县| 广水市| 聊城市| 沛县| 连平县| 武威市| 德兴市| 肇源县| 黎川县| 通州区| 张家港市| 广宗县| 广灵县| 富锦市| 康保县| 翼城县| 湛江市| 靖安县| 什邡市| 兴山县| 耒阳市|