본문 바로가기

CS/Flutter | Dart

pop 메소드 - maybePop, canPop, WillPopScope

maybePop

라우트 스택에 해당 페이지밖에 없을 경우 pop되지 않는다

라우트 스택에 되돌아 갈 페이지가 있을 경우 pop처럼 동작한다

화면에 아무 것도 존재하지 않을 때 pop()해서 앱을 끝내버리는 것을 방지하기 위해 사용한다

home_screen.dart

 

 

canPop

home_screen.dart

print()하면 상태를 출력해준다

false는 되돌아 갈 페이지가 없다는 것을 의미한다

 

 

 

 

WillPopScope

 

안드로이드 시스템 뒤로 가기 버튼으로 앱 나가는 것 방지하기 위한 함수

(ios는 뒤로 가기 버튼으로 종료되는 기능이 없다)

 

return false 하면 뒤로 가기 불가, true하면 가능하다

 

아래 예시와 같이 특정 작업을 추가해서 그 조건에 해당하는 경우에만 pop() 가능하도록(뒤로 가기로 앱 나갈 수 있도록) 할 수 있다

final canPop = Navigator.of(context).canPop();
return canPop;

 

 

 

 

 

 

 

 


Tiny Star