Comportament determinist la revenire

Definiți o singură politică de revenire astfel încât închiderea overlay-urilor și pop-urile din stivă să se întâmple mereu în aceeași ordine.

Overlay-uri primele

Închideți overlay-urile active înainte de a face pop la stivele de pagini.

Conștient de rădăcină

Când lungimea stivei este unu, delegați comportamentul părintelui în loc să forțați pop.

Conștient de taburi

În modul tab, mergeți la primul tab de la rădăcină înainte de a declanșa tratarea ieșirii la nivelul aplicației.

Modelul de gestionare a revenirii

Folosiți DeclarativePagesBackScope pentru stivele de pagini și callback-urile pentru taburi pentru rădăcinile taburilor.

Politică de revenire

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,
  ),
);
Stabilitate UX

Păstrați o ordine consecventă pentru toate evenimentele de revenire pentru a evita confuzia utilizatorului între butonul Înapoi al sistemului Android și gesturile iOS.