画面遷移でアニメーションを無効にする

Flutter

以下のようにMenuPageとPage2のStatelessWidgetを画面遷移アニメーションなしで移動する方法です。

void main() {
  runApp(MaterialApp(
    //home: MainScreen(),
    initialRoute: '/',
    routes: {
      '/': (context) => MenuPage(),
      '/page2': (context) => Page2(),
    }
  ));
}

class Page2 extends StatelessWidget{
  /// .....
}

class MenuPage extends StatelessWidget{
  /// .....
}

呼び出し↓

    Navigator.push(context, PageRouteBuilder(pageBuilder: (_, __, ___) => 
       YourScreenName(), 
       transitionDuration: Duration(seconds: 0),
     ),
   );

transitionDurationに割り当てられている、Durtation(seconds: 0)の0を変えることで遷移時間を変えることができます。ここでは0を割り当てているので遷移時間をなくしているようです。

もと:How to turn off Flutter page transition animations – Stack Overflow

コメント

タイトルとURLをコピーしました