Hành vi quay lại có tính xác định

Xác định một chính sách quay lại duy nhất để việc đóng overlay và pop ngăn xếp luôn diễn ra theo cùng một thứ tự.

Ưu tiên overlay

Đóng overlay đang hoạt động trước khi pop ngăn xếp trang.

Nhận biết gốc

Khi độ dài ngăn xếp là một, hãy chuyển quyền xử lý cho hành vi cha thay vì ép pop.

Nhận biết tab

Ở chế độ tab, quay về tab đầu tiên tại gốc trước khi kích hoạt xử lý thoát cấp ứng dụng.

Mẫu phạm vi quay lại

Dùng DeclarativePagesBackScope cho ngăn xếp trang và callback của tab cho gốc tab.

Chính sách quay lại

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,
  ),
);
Độ ổn định UX

Hãy giữ một thứ tự nhất quán cho mọi sự kiện quay lại để tránh người dùng nhầm lẫn giữa nút quay lại hệ thống Android và cử chỉ trên iOS.