Deterministyczne zachowanie wsteczne.

Zdefiniuj pojedynczą politykę cofania, aby zapewnić, że operacje anulowania i usuwania elementów ze stosu zawsze zachodzą w tej samej kolejności.

Najpierw warstwa.

Usuń aktywne nakładki przed wyświetleniem kolejnych stron.

Świadomy struktury korzeniowej.

Kiedy długość stosu wynosi jeden, zamiast wymuszać usunięcie elementu, należy delegować zadanie do elementu nadrzędnego.

Zoptymalizowany pod kątem pracy z zakładkami.

W trybie zakładki, przejdź do pierwszej zakładki na poziomie głównym, zanim zostanie uruchomiona obsługa zakończenia działania aplikacji.

Wzór celownika.

Użyj komponentu DeclarativePagesBackScope do zarządzania stosami stron oraz mechanizmów wywoływania funkcji (callbacks) dla elementów "root" w zakładkach.

Polityka zwrotów.

Strony deklaratywne. Zakres.

return DeclarativePagesBackScope(
  strony: _strony,
  usuńGórnąStronę: _usuńGórnąStronę,
  czyNakładkaJestWidoczna: _nakładka != null,
  zamknijNakładkę: _zamknijNakładkę,
  akcjaPoPowrocieDoKorzenia: _akcjaPoPowrocieDoKorzenia,
  dziecko: DeclarativePagesNavigator(
    strony: _strony,
    budujStronę: _budujStronę,
    akcjaPoUsunięciuGórnejStrony: _usuńGórnąStronę,
    czyMożnaUsunąćGórnąStronę: () => _nakładka == null,
  ),
);
Stabilność interfejsu użytkownika.

Zachowaj. Jednolity, spójny porządek dla wszystkich zdarzeń związanych z procesem zwrotu. aby uniknąć nieporozumień u użytkowników wynikających z różnic między gestami powrotu w systemie Android a gestami w systemie iOS.