Flutterでナビゲーターアニメーションを実装する方法


  1. ページ間のフェードアニメーション:

    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,
      );
    },
    ),
    );
  2. ページ間のスライドアニメーション:

    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,
      );
    },
    ),
    );
  3. ページ間のスケールアニメーション:

    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でナビゲーターアニメーションを実装する方法といくつかのコード例を紹介しました。これを参考にして、魅力的な画面遷移を実現してください。