Facilitator for having a Splash screen with a Rive animation until some work has been done for the initialization of the app
The splash screen will show the animation and push the new route you gave once it's finish, by default it does a fade animation but you can customize it by using transitionsBuilder
SplashScreen.navigate(
name: 'intro.riv',
next: (_) => MyHomePage(title: 'Flutter Demo Home Page'),
until: () => Future.delayed(Duration(seconds: 5)),
startAnimation: '1',
),
The splash screen will show the animation and call the onFinished
callback when it's finish.
SplashScreen.callback(
name: 'intro.riv',
onSuccess: (data) {
//data is the optional data returned by until callback function
Navigator.of(context).pushReplacement(PageRouteBuilder(pageBuilder: (_,__,___) => MyHomePage(title: 'Flutter Demo Home Page')));
},
onError: (err, stack) {
//error throw by until callback function
},
loopAnimation: '1',
until: () => Future.delayed(Duration(seconds: 1)),
endAnimation: '1',
),
name
: path/name of the Rive animation
next
: screen to show once animation is finished as widget builder
loopAnimation
: animation name to run, default same as first param
startAnimation
: animation name to run once before going into loop
endAnimation
: animation name to run once until
is complete
until
: callback that return a future to process your initialization
isLoading
: alternative to until
if you want to manage loading state with a boolean
height
: force the height of the Rive animation, by default it take the all place available
width
: force the width of the Rive animation, by default it take the all place available
alignment
: alignment of the Rive animation, center by default
transitionsBuilder
transition to apply when showing next
Basically you have one animation to show and then just need to stay at last frame. In order to do that only specify the startAnimation
Your animation have an intro and a loop state, in order to do that only specify the startAnimation
and loopAnimation
Your animation have a finish and a loop state, in order to do that only specify the endAnimation
and loopAnimation
Your animation have an intro and a finish that should stay on the last frame, in order to do that only startAnimation
and endAnimation
Your animation have an intro, a finish and a loop state, in order to do that specify the startAnimation
, endAnimation
and loopAnimation