Comportamento di ritorno deterministico
Definisci un'unica politica di ritorno, così la chiusura degli overlay e le operazioni di pop dallo stack avvengono sempre nello stesso ordine.
Overlay prima di tutto
Chiudi gli overlay attivi prima di fare pop dagli stack delle pagine.
Consapevole della radice
Quando la lunghezza dello stack è uno, delega al comportamento del padre invece di forzare il pop.
Consapevole delle schede
In modalità schede, passa alla prima scheda alla radice prima di attivare la gestione dell'uscita a livello di app.
Pattern dell'ambito di ritorno
Usa DeclarativePagesBackScope per le pile di pagine e i callback delle schede per le radici delle schede.
Politica di ritorno
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,
),
);
Stabilità UX
Mantieni un unico ordine coerente per tutti gli eventi di ritorno per evitare confusione tra il pulsante Indietro di Android e i gesti di iOS.
Precedente
Tab dichiarativeSuccessivo
Anti-pattern