Hi,
This tutorial is for the developing of simple splash screen with timer.
This tutorial has three files.
- main.dart
- splash.dart
- home.dart
main.dart
import ‘package:flutter/material.dart’;
import ‘package:home/splash.dart’;
void main() {
runApp(MaterialApp(
theme: ThemeData.dark(),
debugShowCheckedModeBanner: false,
home: SplashScreen(),
));
}
splash.dart
import ‘dart:async’;
import ‘package:flutter/material.dart’;
import ‘package:home/home.dart’;
class SplashScreen extends StatefulWidget {
@override
_SplashScreenState createState() => _SplashScreenState();
}
class _SplashScreenState extends State<SplashScreen> {
startSplash() async {
var dur = Duration(seconds: 2);
return new Timer(dur, navigateHome);
}
navigateHome() {
Navigator.of(context)
.pushReplacement(MaterialPageRoute(builder: (context) => HomeScreen()));
}
@override
void initState() {
// TODO: implement initState
super.initState();
startSplash();
}
@override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
body: Container(
color: Colors.red,
child: Center(
child: Text(‘Splash Screen’),
),
)),
);
}
}
home.dart
import ‘package:flutter/material.dart’;
class HomeScreen extends StatefulWidget {
@override
_HomeScreenState createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
@override
Widget build(BuildContext context) {
return SafeArea(
child: Scaffold(
body: Container(
color: Colors.deepOrange,
child: Center(
child: Text(
‘Home Page’,
style: TextStyle(fontSize: 22),
),
),
),
));
}
}
OUTPUT: