#実現したいこと
Flutterでページ遷移する際に、遷移方向を変えたい。
Navigator.pushの場合は右方向に遷移してしまうが、左方向に遷移したい場合に使う。
#解決方法
onPressed: () => _onSignOut(context),
void _onSignOut(BuildContext context) async {
await FirebaseAuth.instance.signOut();
Navigator.of(context).pushReplacement(
SlideRightRoute(page: SecondScreen())
//SecondScreenが遷移したいページ
);
}
class SlideRightRoute extends PageRouteBuilder {
final Widget page;
SlideRightRoute({this.page})
: super(
pageBuilder: (
BuildContext context,
Animation<double> animation,
Animation<double> secondaryAnimation,
) =>
page,
transitionsBuilder: (
BuildContext context,
Animation<double> animation,
Animation<double> secondaryAnimation,
Widget child,
) =>
SlideTransition(
position: Tween<Offset>(
begin: const Offset(-1, 0),
end: Offset.zero,
).animate(animation),
child: child,
),
);
}