fayaz07 / animated_splash

A light weight package for flutter apps, that easily shows a splash screen with a nice fade animation.
https://pub.dev/packages/animated_splash
Apache License 2.0
110 stars 26 forks source link
android animation flutter ios splashscreen

Animated Splash Screen

Using the package

Get the library

environment:
  sdk: ">=2.1.0 <3.0.0"

Add dependency in pubspec.yaml

dependencies:
animated_splash: ^1.0.0

Things to do

  1. Get a logo for your app
  2. Prepare what to execute while the splash screen is shown (initializing your db, shared preferences, firebase...etc)
  3. Screen to be shown after splash screen and background process
  4. Duration of Splash Screen

Import the package

import 'package:animated_splash/animated_splash.dart';

Show splash screen for some duration

  type: AnimatedSplashType.StaticDuration

Inside your main function, use home as SplashScreen(_), the parameters are as follows:

imagePath: Path to your app-logo/image home: Screen to be shown after splash duration: duration of splash screen in milliseconds type

runApp(MaterialApp(
home: AnimatedSplash(
imagePath: 'assets/flutter_icon.png',
home: Home(),
duration: 2500,
type: AnimatedSplashType.StaticDuration,
),
));

Execute a function in background and based on the value from that function navigate to different screen

  type: AnimatedSplashType.BackgroundProcess

Create an object of Function that gets executed while splash screen is shown

Function duringSplash = () {
//Write your code here
...
return value;
};

Create routes according to your function return value


//setup the return value correctly for proper navigation
Map<dynamic, Widget> returnValueAndHomeScreen = {1: Home(), 2: HomeSt()};

Inside your **main** function, use *home* as **SplashScreen(_)**, the parameters are as follows:
> imagePath: Path to your app-logo/image
> home: Screen to be shown after splash
> customFunction: the function you have written above
> duration: duration of splash screen in milliseconds
> type
> output value of customFunction and home screen to navigate(Map function)

```dart
runApp(MaterialApp(
  home: AnimatedSplash(
              imagePath: 'assets/flutter_icon.png',
              home: Home(),
              customFunction: duringSplash,
              duration: 2500,
              type: AnimatedSplashType.BackgroundProcess,
              outputAndHome: op,
            ),
));

Demo

ProgressDialog Demo