当前位置: 首页 > news >正文

网站开通flash国家免费培训网站

网站开通flash,国家免费培训网站,长沙私人做网站,淘宝上做的网站Flutter实现倒计时功能 发布时间:2023/05/12 本文实例为大家分享了Flutter实现倒计时功能的具体代码,供大家参考,具体内容如下 有一个需求,需要在页面进行显示倒计时,倒计时结束后,做相应的逻辑处理。 实…

Flutter实现倒计时功能
发布时间:2023/05/12
本文实例为大家分享了Flutter实现倒计时功能的具体代码,供大家参考,具体内容如下

有一个需求,需要在页面进行显示倒计时,倒计时结束后,做相应的逻辑处理。

实现思路:在Flutter中,Timer.periodic提供了循环功能,查看函数定义:

factory Timer.periodic(Duration duration, void callback(Timer timer))

第一个参数就是时间间隔,第二个参数就是事件处理回调。

由于后台返回的是秒数,所以需要根据总秒数计算小时,分钟,秒。同时,当不满一个小时时,只显示分钟和秒数,当分钟和秒数只有一个数时(比如1分8秒,显示为01:08)前面加“0”处理。

完整代码:

import 'package:flutter/material.dart';
import 'dart:async';class CounterDownPage extends StatefulWidget {@override_CounterDownPageState createState() => _CounterDownPageState();
}class _CounterDownPageState extends State<CounterDownPage> {// 用来在布局中显示相应的剩余时间String remainTimeStr = '';Timer _timer;//倒计时 void startCountDown(int time) {// 重新计时的时候要把之前的清除掉if (_timer != null) {if (_timer.isActive) {_timer.cancel();_timer = null;}}if (time <= 0) {return;}var countTime = time;const repeatPeriod = const Duration(seconds: 1);_timer = Timer.periodic(repeatPeriod, (timer) { if (countTime <= 0) {timer.cancel();timer = null;//待付款倒计时结束,可以在这里做相应的操作return;}countTime--;//外面传进来的单位是秒,所以需要根据总秒数,计算小时,分钟,秒int hour = (countTime ~/ 3600) % 24;//如果不止24小时的就不用%24int minute = countTime % 3600 ~/60;int second = countTime % 60;var str = '';if (hour > 0) {str = str + hour.toString()+':';}if (minute / 10 < 1) {//当只有个位数时,给前面加“0”,实现效果:“:01”,":02"str = str + '0' + minute.toString() + ":";} else {str = str + minute.toString() + ":";}if (second / 10 < 1) {str = str + '0' + second.toString();} else {str = str + second.toString();}setState(() {remainTimeStr = str;});});}@overridevoid initState() {super.initState();//开始倒计时,这里传入的是秒数startCountDown(5000);}@overridevoid dispose() {super.dispose();if (_timer != null) {if (_timer.isActive) {_timer.cancel();_timer = null;}}}@overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text("倒计时"),),body: Center(child: Row(mainAxisAlignment: MainAxisAlignment.center,children: [Text("剩余", style: TextStyle(fontSize: 18,color: Color.fromRGBO(255, 111, 50, 1),fontWeight: FontWeight.bold),),Text(remainTimeStr.length > 0 ? remainTimeStr: "--", style: TextStyle(fontSize: 18,color: Color.fromRGBO(255, 111, 50, 1),fontWeight: FontWeight.bold),),],),),);}
}

在这里插入图片描述
服务器返回的时间戳87392,现在的时间戳+87392 现在的时间戳,两者的时间戳相差二十多个小时,也就是说87392就是秒数,直接传秒数到上面的startCountDown方法即可。

http://www.yayakq.cn/news/446416/

相关文章:

  • 做网站什么系统简单广告公司平面设计主要做什么
  • 九江专业的企业网站建设公司代理招商平台
  • 网站建设这门课好学吗wordpress公司企业
  • 怎么做网站背景视频营销案例
  • 防城港做网站静态网页制作网站
  • 企业网站制作哪家好哪个建设网站公司好
  • 黄山工程建设信息网站wordpress 主题排行
  • centos7.2做网站重庆市住房和城乡建设厅网站首页
  • 内蒙古建设厅公示网站php 如何在网站根目录创建文件夹
  • 网站精神文件建设专栏广东建设网站公司
  • dw做网站时怎么在图片上加字网站建设模板制作
  • 自己做的网站怎么在百度上搜到网站建站网站jp586 vip
  • php 网站开发心得做网站的算什么行业
  • 企业网站的设计与实现中山自助建站系统
  • 长春专业做网站公司哪家好wordpress生成站点地图
  • o2o网站设计公司自动优化网站建设咨询
  • 网站开发 占位符wordpress 主题 设计
  • 网站开发的源代码怎么算侵权wordpress+任意下载
  • 西安网站建设比较好的公司优化什么
  • 佛山企业网站建设平台成都万商云集做网站怎么样
  • 网站建设公司 壹宇网络广告投放运营
  • 做旅行同业的网站WordPress搜索增强插件
  • 织梦做的网站后台登录机械加工制造网
  • p2p网站制作郑州网站建设需要注意哪些
  • 安徽住房和建设网站太原网站公司哪家好
  • 鹿泉城乡建设局网站wordpress访问量阅读量
  • 做网站有流量就有收入吗住房和城乡建设部网站 城市绿地分类
  • 做网站百度一下河南火焰山网站开发禹
  • 牛商网网站建设多少钱最专业企业营销型网站建设
  • 建设银行青海省分行门户网站wordpress后台仪表盘