오버레이 우선
페이지 스택을 pop하기 전에 활성 오버레이를 닫습니다.
루트 인식
스택 길이가 1이면 강제 pop 대신 부모 동작으로 위임합니다.
탭 인식
탭 모드에서는 앱 수준 종료 처리를 시작하기 전에 루트의 첫 번째 탭으로 이동합니다.
뒤로가기 스코프 패턴
페이지 스택에는 DeclarativePagesBackScope를, 탭 루트에는 탭 콜백을 사용하세요.
뒤로가기 정책
DeclarativePagesBackScope
return DeclarativePagesBackScope(
pages: _pages,
popTopPage: _popTop,
isOverlayVisible: _overlay != null,
dismissOverlay: _dismissOverlay,
onBackAtRoot: _onBackAtRoot,
child: DeclarativePagesNavigator(
pages: _pages,
buildPage: _buildPage,
onPopTop: _popTop,
canPopTop: () => _overlay == null,
),
);
UX 안정성
유지 모든 뒤로가기 이벤트에 대해 하나의 일관된 순서 하여 Android 시스템 뒤로가기와 iOS 제스처 사이에서 사용자가 혼동하지 않도록 합니다.