Flutter 倒计时

  写一个倒计时定时器听起来真的好简单,然而在 Flutter 里面写这个东西还是挺坑的。原本以为创建一个 Timer 就一切都搞定了,但并没办法实时获取倒计时的进度。

void countdown(){Timer timer = new Timer(new Duration(seconds: 10), () {// 只在倒计时结束时回调});
}

  看了一下源码,我们还可以创建一个周期性的 Timer,从打印结果可以看到 Timer 的 tick 是从1开始的。

void countdown(){Timer countdownTimer =  new Timer.periodic(new Duration(seconds: 1), (timer) {print(countdownTimer.tick);}
}

  我们修改一下做一个倒计时获取重新获取验证码的功能。

Timer _countdownTimer;String _codeCountdownStr = '获取验证码';int _countdownNum = 59;void reGetCountdown() {setState(() {if (_countdownTimer != null) {return;}// Timer的第一秒倒计时是有一点延迟的,为了立刻显示效果可以添加下一行。_codeCountdownStr = '${_countdownNum--}重新获取';_countdownTimer =new Timer.periodic(new Duration(seconds: 1), (timer) {setState(() {if (_countdownNum > 0) {_codeCountdownStr = '${_countdownNum--}重新获取';} else {_codeCountdownStr = '获取验证码';_countdownNum = 59;_countdownTimer.cancel();_countdownTimer = null;}});});});}// 不要忘记在这里释放掉Timer@overridevoid dispose() {_countdownTimer?.cancel();_countdownTimer = null;super.dispose();}

Flutter 倒计时相关推荐

  1. Flutter 倒计时实现

    Flutter 倒计时实现 1.此组建用时间戳计算倒计时 import 'dart:async'; import 'package:flutter/material.dart';import 'dar ...

  2. flutter倒计时TimerUtil工具类

    更多文章请查看 lutter从入门 到精通 flutter 提供了 Timer 来执行定时任务 common_utils 工具类已经 封装了 Timer 一个计时工具类 TimerUtil,可实现倒计 ...

  3. Flutter 倒计时功能

    一.说明 要实现一个类似上图中滑动列表项倒计时功能,其中剩余时间是需要每分钟更新一次. 二.功能实现 class ItemOrderWidget extends StatefulWidget {fin ...

  4. Flutter 项目开发指导 从基础入门到精通使用目录

    Flutter 从入门 到精通系列文章 本文章为 Flutter 开发中的经验积累分享.教程分享.开发笔记分享目录,持续维护中. 题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精. Fl ...

  5. Flutter开发之倒计时/定时器(30)

    倒计时/定时器在移动应用开发中比较常见的功能,比如启动时的广告倒计时.比如弹框倒计时.比如定时1秒后跳转.获取验证码等等.今天就认识一下Flutter中的倒计时/定时器. 一般有两种场景: 我只需要你 ...

  6. Flutter StreamBuilder 实现的一个倒计时功能

    题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精. Flutter是谷歌推出的最新的移动开发框架. [x1]微信公众号的每日提醒 随时随记 每日积累 随心而过 [x2]各种系列的视频教程 ...

  7. Flutter实现倒计时功能

    题记 -- 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天. ** 你可能需要 CSDN 网易云课堂教程 掘金 EDU学院教程 知乎 Flutter系列文章 本文是异步编程的定时器 ...

  8. Flutter布局锦囊---验证码倒计时

    设计给的效果如下: 拿到设计后,先把整体拆分成几个部分: "获取验证码按钮",可以通过点击按钮来获取验证码. 然后就可以开始进行编码了. 第1步:绘制组件树 第2步:实现" ...

  9. Flutter学习之倒计时计时器

    1.自定义倒计时计时器控件: import 'dart:async'; import 'package:flutter/material.dart';final TextStyle _availabl ...

  10. Flutter 快速上手定时器/倒计时及实战讲解

    本文微信公众号「AndroidTraveler」首发. 今天给大家讲讲 Flutter 里面定时器/倒计时的实现. 一般有两种场景: 我只需要你在指定时间结束后回调告诉我.回调只需要一次. 我需要你在 ...

最新文章

  1. python程序代码大全-调试Python程序代码的几种方法总结
  2. 戴尔塔式服务器各型号,戴尔_PowerEdge T440_塔式服务器_网络存储服务器_服务器 | Dell 中国大陆...
  3. 【Redis】1.Redis入门简介以及基本操作命令
  4. 计算机应用等级考试1,计算机等级考试一级试题
  5. 比特币的原理及运作机制
  6. php静态方法怎么调用非静态属性,关于静态方法不能调用类中的非静态属性的理解...
  7. 排序算法之交换排序(冒泡排序、快速排序)
  8. 更改yum源配置后执行报错[Errno 14] PYCURL ERROR 22 - “The requested URL returned error: 404 Not Found”
  9. nohup.out文件过大的解决办法
  10. 蒋涛:《Orange’S:一个操作系统的实现》属于真正Hacker的
  11. 对比MySQL和Pandas计算用户最大连续登录天数
  12. 音视频开发工程师学习之路
  13. 从菜鸟到大神之自动化测试(基础一)
  14. webpy中如何返回json格式给前端
  15. IOS实现应用内打开第三方地图app进行导航
  16. 非严格次小生成树+严格次小生成树
  17. 二维码支付的优势与劣势
  18. Android面试:ActivityA与ActivityB相互跳转对应生命周期变化
  19. CDN还有这么多衍生品?! 云帆加速借技术创新笑傲短视频新蓝海
  20. 页面加载完成事件 - onload,四种写法

热门文章

  1. win 桌面图标小箭头
  2. 吊打何同学?猛肝24小时,用6000元成本打造 AirDesk!
  3. 编程之美4.7蚂蚁爬杆扩展问题附猎人抓狐狸(必胜策略)
  4. android手机截屏代码,Android手机截屏代码
  5. python游戏书籍推荐_有什么好的自学 Python 的书籍推荐?
  6. 第三章 集合的基本概念和运算
  7. unbuntu20.04 安装mysql
  8. 《商业俏佳人》游戏体验文档
  9. matlab单位函数定义,MATLAB 函数(一)
  10. PHP 将XML转成数组(微信回调接收方法)