Comportamento de voltar determinístico
Defina uma única política de voltar para que o fechamento de overlays e os pops da pilha sempre aconteçam na mesma ordem.
Sobreposições primeiro
Feche os overlays ativos antes de fazer pop das pilhas de páginas.
Consciente da raiz
Quando o tamanho da pilha for um, delegue ao comportamento pai em vez de forçar o pop.
Consciente das abas
No modo de abas, vá para a primeira aba na raiz antes de acionar o tratamento de saída no nível do app.
Padrão de escopo de voltar
Use DeclarativePagesBackScope para pilhas de páginas e callbacks de abas para raízes de abas.
Política de voltar
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,
),
);
Estabilidade de UX
Mantenha uma ordem consistente para todos os eventos de voltar para evitar confusão do usuário entre o voltar do sistema Android e os gestos do iOS.
Anterior
Abas declarativasPróximo
Anti-padrões