flutter 倒计时

int count = 0;//定时数字
const period = const Duration(seconds: 1);//每一秒就回调
print('currentTime='+DateTime.now().toString());
Timer.periodic(period, (timer) {//不断回调
  //到时回调
  print('afterTimer='+DateTime.now().toString());
  count++;
  if (count >= 5) {
    //取消定时器,避免无限回调
    timer.cancel();
    timer = null;
  }
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flutter 中实现验证码倒计时可以通过使用计时器 Timer 来实现。以下是一个简单的示例: 1. 首先定义一个变量 `countdownTime` 表示倒计时的时间,以秒为单位。 ```dart int countdownTime = 60; ``` 2. 然后定义一个变量 `timer` 来控制计时器的执行。 ```dart Timer timer; ``` 3. 在需要开始倒计时的时候,启动计时器,并在计时器中更新倒计时的时间。 ```dart void startCountdown() { timer = Timer.periodic(Duration(seconds: 1), (timer) { setState(() { if (countdownTime < 1) { timer.cancel(); } else { countdownTime -= 1; } }); }); } ``` 4. 在界面中显示倒计时的时间。可以使用 Text 组件来显示,然后在组件的 text 属性中使用字符串插值来显示倒计时的时间。 ```dart Text('倒计时 $countdownTime 秒') ``` 完整的示例代码如下: ```dart import 'dart:async'; import 'package:flutter/material.dart'; class CountdownPage extends StatefulWidget { @override _CountdownPageState createState() => _CountdownPageState(); } class _CountdownPageState extends State<CountdownPage> { int countdownTime = 60; Timer timer; void startCountdown() { timer = Timer.periodic(Duration(seconds: 1), (timer) { setState(() { if (countdownTime < 1) { timer.cancel(); } else { countdownTime -= 1; } }); }); } @override void dispose() { timer?.cancel(); super.dispose(); } @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('验证码倒计时'), ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Text('倒计时 $countdownTime 秒'), SizedBox(height: 16), RaisedButton( child: Text('开始倒计时'), onPressed: startCountdown, ), ], ), ), ); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值