[Flutter] Navigator #system

2024. 1. 14. 18:51dev/flutter

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
반응형

'dev > flutter' 카테고리의 다른 글

[Flutter] PIP, Picture in Picture Mode  (0) 2024.01.15
[Flutter] Timer, custom delay point  (0) 2024.01.15
[Flutter] Video Player  (0) 2024.01.15
[Flutter] Google API MAP, Geolocator  (0) 2024.01.14
[Flutter] Permission  (0) 2024.01.14