Deterministiska atpakaļsoļu apstrāde

Definējiet vienotu atpakaļsoļu politiku, lai nodrošinātu, ka pārklājumu aizvēršana un lapu steka noņemšana vienmēr notiek vienā un tajā pašā secībā.

Vispirms pārklājumi

Aizveriet aktīvos pārklājumus pirms lapu steka noņemšanas.

Saknes apzināšanās

Ja steka garums ir viens, deleģējiet darbību vecāka uzvedībai, nevis veiciet piespiedu izņemšanu.

Cilņu apzināšanās

Cilņu režīmā, pirms lietotnes līmeņa iziešanas apstrādes, pārejiet uz pirmo cilni saknes ekrānā.

Atpakaļsoļu apgabala šablons

Izmantojiet DeclarativePagesBackScope lapu stekiem un cilņu atzvanus cilņu saknēm.

Atpakaļsoļu politika

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 stabilitāte

Saglabājiet vienotu un konsekventu secību visiem atpakaļsoļu notikumiem, lai izvairītos no lietotāju apjukuma starp Android sistēmas atpakaļsoļa darbību un iOS žestiem.