[Flutter] GetX Navigation 화면이동

Lena L.·2023년 9월 19일
0

GetX

목록 보기
1/1

GetX를 사용하면 Flutter 앱에서 화면 간 이동을 간편하게 처리할 수 있다. GetX에서 제공하는 화면 이동 메소드를 정리한다.

패키지 설치

$ flutter pub add get

화면을 스택에 추가하면서 이동

Get.to(() => const MainScreen());
Get.toNamed('/MainScreen'));

화면을 스택에서 제거하면서 이동

현재 화면을 제거하고 새로운 화면으로 이동
Get.off(() => const MainScreen());
Get.offNamed("/MainScreen")

모든 화면을 제거하면서 이동
Get.offAll(MainScreen());

특정 조건을 만족하는 화면까지 스택에서 화면을 제거하면서 이동
Get.until((route) => Get.currentRoute == '/home'); //홈 화면까지 제거하면서 이동
Get.offUntil(GetPageRoute(page: () => const MainScreen()), ModalRoute.withName('/profile'));

메인화면까지 이동하고 profile 화면 표시
Get.offNamedUntil('/MainScreen', ModalRoute.withName('/profile'));

기타

다이얼로그가 닫힐때까지 화면 이동
Get.until((route) => !Get.isDialogOpen!);
Get.offNamedUntil("/home", (route) => Get.isOverlaysClosed);

사용 예제

void navigateScreen() {
    Get.to(() => const MainScreen());
    Get.toNamed("/MainScreen");
    
    Get.off(() => const MainScreen());
		Get.offAll(MainScreen());
    Get.offNamed("/MainScreen")
    Get.until((route) => Get.currentRoute == '/home');
		Get.offUntil(
      GetPageRoute(page: () => const MainScreen()), // 조건: 메인 화면까지 이동
      ModalRoute.withName('/profile'), // 메인화면까지 이동 후 profile 화면 표시
    );
	Get.offNamedUntil('/MainScreen', ModalRoute.withName('/profile'));
    

    // 기타
    // 다이얼로그가 닫힐때까지 화면 이동
    Get.until((route) => !Get.isDialogOpen!); 
    Get.offNamedUntil("/home", (route) => Get.isOverlaysClosed); // overlay = snackbar, dialog, bottomsheet
  }
profile
Be curious

0개의 댓글