確定性的返回行為

定義單一的返回策略,讓關閉覆層與彈出頁面永遠按相同順序發生。

覆層優先

先關閉作用中的覆層,再彈出頁面堆疊。

根節點感知

當堆疊長度為一時,改由父層行為處理,而不是強制彈出。

分頁感知

在分頁模式下,先在根節點切回第一個分頁,再觸發應用層級的結束處理。

返回作用域模式

頁面堆疊使用 DeclarativePagesBackScope,分頁根節點使用 tab 回呼。

返回策略

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 穩定性

請維持 所有返回事件的一致順序 ,以避免 Android 系統返回與 iOS 手勢之間的混淆。

下一頁

反模式