Advertisement
Guest User

Untitled

a guest
Oct 15th, 2019
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.87 KB | None | 0 0
  1. import 'dart:async';
  2. import 'package:flutter/material.dart';
  3.  
  4. void main() => runApp(MyApp());
  5.  
  6. class MyApp extends StatelessWidget {
  7. // This widget is the root of your application.
  8. @override
  9. Widget build(BuildContext context) {
  10. return MaterialApp(
  11. title: 'Flutter Demo',
  12. theme: ThemeData(
  13. primarySwatch: Colors.blue,
  14. ),
  15. home: SplashPage(),
  16. routes: {
  17. '/page2': (_) => Page2(),
  18. },
  19. );
  20. }
  21. }
  22.  
  23. class SplashPage extends StatefulWidget {
  24. SplashPage({Key key}) : super(key: key);
  25.  
  26. @override
  27. _SplashPageState createState() => _SplashPageState();
  28. }
  29.  
  30. class _SplashPageState extends State<SplashPage> {
  31. @override
  32. void initState() {
  33. super.initState();
  34. startTimer();
  35. }
  36.  
  37. startTimer() {
  38. Timer(Duration(milliseconds: 1500), () async {
  39. doDummyFetch().then((res) async {
  40. print('READY TO NAVIGATE');
  41. await Navigator.of(context).pushNamed('/page2');
  42. startTimer();
  43. });
  44. });
  45. }
  46.  
  47. Future<bool> doDummyFetch() async {
  48. Future.delayed(Duration(milliseconds: 750));
  49. return true;
  50. }
  51.  
  52. @override
  53. Widget build(BuildContext context) {
  54. return Scaffold(
  55. appBar: AppBar(
  56. title: Text('Splash'),
  57. ),
  58. body: Center(
  59. child: Column(
  60. mainAxisAlignment: MainAxisAlignment.center,
  61. children: <Widget>[
  62. const Text('Splash Page'),
  63. const SizedBox(height: 20),
  64. const CircularProgressIndicator(),
  65. ],
  66. ),
  67. ),
  68. );
  69. }
  70. }
  71.  
  72. class Page2 extends StatelessWidget {
  73. @override
  74. Widget build(BuildContext context) {
  75. return Scaffold(
  76. appBar: AppBar(
  77. title: Text('Page 2'),
  78. ),
  79. body: Center(
  80. child: Column(
  81. mainAxisAlignment: MainAxisAlignment.center,
  82. children: <Widget>[
  83. const Text('Page 2'),
  84. ],
  85. ),
  86. ),
  87. );
  88. }
  89. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement