Search code examples
dartfluttersplash-screen

Flutter Splash Screen


How do I show a splash Screen in flutter? So there is an option for launch icon. I added images for ios and android in their respective folders. My problem is it is too fast. So it directly opens MyApp(). I want my app to not show anything and let splash take control until I figure out which screen to take the user to (In MyApp I want to do intialization)


Solution

  • You can use Future.delayed constructor in your initState. This will keep your SplashScreen for the duration you specify before the navigation happen.

    class SplashScreen extends StatefulWidget {
      @override
      _SplashScreenState createState() => new _SplashScreenState();
    }
    
    class _SplashScreenState extends State<SplashScreen> {
      @override
      void initState (){
        super.initState();
        // TODO initial state stuff
        new Future.delayed(const Duration(seconds: 4));
      }
      @override
      Widget build(BuildContext context) {
        //build
      }
    }