flutter怎么实现倒计时加载页面
发表于:2025-01-17 作者:千家信息网编辑
千家信息网最后更新 2025年01月17日,本篇内容主要讲解"flutter怎么实现倒计时加载页面",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"flutter怎么实现倒计时加载页面"吧!效果图实现步
千家信息网最后更新 2025年01月17日flutter怎么实现倒计时加载页面
本篇内容主要讲解"flutter怎么实现倒计时加载页面",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"flutter怎么实现倒计时加载页面"吧!
效果图
实现步骤
1、pubspec.yaml中添加依赖 flustars,该包的TimelineUtil和TimerUtil类可以实现计时功能
dependencies: flustars: ^0.3.3
!注意空格哦
2、代码实现
初始化TimerUtil
late TimerUtil util; double current_time = 0;void initState() { super.initState(); util = new TimerUtil(mInterval: 18, mTotalTime: 5000); util.setOnTimerTickCallback((millisUntilFinished) { setState(() { //每次时间间隔回调,把每次当前总时间ms除以1000就是秒 current_time = millisUntilFinished / 1000; //倒计时结束时 跳转到首页 当然也可以等待资源加载完成再跳转 if (current_time == 0) { /*等待资源完成代码块*/ //跳转到首页 Navigator.push( context, MaterialPageRoute(builder: (context) => HomePage())); } }); });
构造页面
Widget build(BuildContext context) { return Scaffold( body: Column( children: [ Image.asset('images/2.0/beijing.jpg'), Container( alignment: Alignment.centerRight, child: SizedBox( height: 50, width: 50, child: Stack( children: [ Center(child: CircularProgressIndicator( value: current_time == 5.0 ? 0 : (5 - current_time) / 5, ),), Center(child: Text('${current_time.toInt()}'),) ],) ), ), ], )); }
完整代码
import 'package:flustars/flustars.dart';import 'package:flutter/material.dart';void main() { runApp(MyApp());}class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: LoadingPage(), ); }}class LoadingPage extends StatefulWidget { const LoadingPage({Key? key}) : super(key: key); @override _LoadingPageState createState() => _LoadingPageState();} class _LoadingPageState extends State{ late TimerUtil util; //计时对象 double current_time = 0; //当前时间 @override Widget build(BuildContext context) { return Scaffold( body: Column( children: [ Image.asset('images/2.0/beijing.jpg'), Container( alignment: Alignment.centerRight, child: SizedBox( height: 50, width: 50, child: Stack( children: [ Center(child: CircularProgressIndicator( value: current_time == 5.0 ? 0 : (5 - current_time) / 5, ),), Center(child: Text('${current_time.toInt()}'),) ],) ), ), ], )); } @override void initState() { super.initState(); util = new TimerUtil(mInterval: 18, mTotalTime: 5000); util.setOnTimerTickCallback((millisUntilFinished) { setState(() { //每次时间间隔回调,把每次当前总时间ms除以1000就是秒 current_time = millisUntilFinished / 1000; //倒计时结束时 跳转到首页 当然也可以等待资源加载完成再跳转 if (current_time == 0) { /*等待资源完成代码块*/ //跳转到首页 Navigator.push( context, MaterialPageRoute(builder: (context) => HomePage())); } }); }); //开始倒计时 util.startCountDown(); }}class HomePage extends StatelessWidget { const HomePage({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('HomePage'), ), ); }}
到此,相信大家对"flutter怎么实现倒计时加载页面"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
倒计时
时间
页面
代码
资源
首页
内容
就是
学习
实用
更深
兴趣
功能
实用性
实际
对象
操作简单
效果
效果图
方法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
我的世界服务器卡没血
融合服务器采购
中国中医案例数据库
软件开发太难找工作了
现有网络安全资源
电脑服务器配置技术参数图表
华硕超融合专用服务器
商丘市网络安全先进人才
如何做收款服务器
东营职业学院计算及网络技术
青浦区正规软件开发品质保障
铜仁软件开发培训学校
access数据库分享
超好用的免费在线服务器管理工具
大型软件开发实例
什么是云技术什么是数据库
数据库安全的管理系统软件
edna数据库接口
网络安全宣传周 部署会议
软件开发的前端岗位职责
网络技术专业的前景
2019版网络安全应急预案要求
access数据库分享
数据库系统概论答案第三章
数据库中怎么增加默认值
浙江电子商务软件开发
现今关于软件开发的热门话题
计算机网络技术知道答案
美股软件开发
吉林服务器硬盘性能