dev/flutter
[Flutter] Navigator #system
donguran
2024. 1. 14. 18:51
728x90
반응형
if you want other Widget Screen. you should use Navigator class.
Navigator widget class have methods.
- .push : move other class.
- .pushAndRemoveUntil : move other class and remove before classes.
- .pushReplacement : not move other class, change other class. motion like push animation.
route return MaterialPageRoute
Navigator.push(context, MaterialPageRoute(builder: (_) => OtherScreen(),));
if you want push page without animation.
use PageRouteBuilder class.
Navigator.pushReplacement(context, PageRouteBuilder(
pageBuilder: (context, animation, secondaryAnimation) => HomePage(),
transitionDuration: Duration.zero,
reverseTransitionDuration: Duration.zero
));
앱 종료
SystemNavigator
SystemNavigator.pop(animated: true);
pushAndRemoveUntil사용법
Navigator.pushAndRemoveUntil(
buildContext,
MaterialPageRoute(builder: (context) => HomeScreen(tabIndex: 0, settingProvider: settingProvider)),
(route) => false,
);
2024-07-09-화 : 페이지를 이동하면서 Fade기능이 발생하도록 만드는 방법
Navigator.push(context, PageRouteBuilder(
opaque: false,
pageBuilder: (context, animation, secondaryAnimation) {
return ImageFullScreen(model: barcodeModel, image: widget.image!);
},
transitionDuration: const Duration(milliseconds: 50),
reverseTransitionDuration: const Duration(milliseconds: 200),
transitionsBuilder: (context, animation, secondaryAnimation, child) {
return FadeTransition(
opacity: animation,
child: child,
);
},
))
728x90
반응형