-
ページ間のフェードアニメーション:
Navigator.push( context, PageRouteBuilder( pageBuilder: (context, animation, secondaryAnimation) => NextPage(), transitionsBuilder: (context, animation, secondaryAnimation, child) { var begin = Offset(0.0, 1.0); var end = Offset.zero; var curve = Curves.ease; var tween = Tween(begin: begin, end: end).chain(CurveTween(curve: curve)); return SlideTransition( position: animation.drive(tween), child: child, ); }, ), );
-
ページ間のスライドアニメーション:
Navigator.push( context, PageRouteBuilder( pageBuilder: (context, animation, secondaryAnimation) => NextPage(), transitionsBuilder: (context, animation, secondaryAnimation, child) { var begin = Offset(1.0, 0.0); var end = Offset.zero; var curve = Curves.ease; var tween = Tween(begin: begin, end: end).chain(CurveTween(curve: curve)); return SlideTransition( position: animation.drive(tween), child: child, ); }, ), );
-
ページ間のスケールアニメーション:
Navigator.push( context, PageRouteBuilder( pageBuilder: (context, animation, secondaryAnimation) => NextPage(), transitionsBuilder: (context, animation, secondaryAnimation, child) { var begin = 0.0; var end = 1.0; var curve = Curves.ease; var tween = Tween(begin: begin, end: end).chain(CurveTween(curve: curve)); return ScaleTransition( scale: animation.drive(tween), child: child, ); }, ), );
これらは、いくつかの一般的なナビゲーターアニメーションの例です。アニメーションの種類やパラメーターを変更することで、さまざまなエフェクトを実現することができます。Flutterのアニメーションに関する詳細な情報は、公式ドキュメントを参照してください。
このようにして、Flutterでナビゲーターアニメーションを実装する方法といくつかのコード例を紹介しました。これを参考にして、魅力的な画面遷移を実現してください。