د سکرین-ځانګړی overlay state

Dialogs او sheets د OverlayRequest? په وسیله وښایئ او د ScreenOverlayHost یا AnimatedScreenOverlayHost له لارې یې render کړئ.

یوه overlay slot

Overlay د OverlayRequest? په توګه model کړئ او د بندولو لپاره یې clear کړئ.

د dialog او sheet ملاتړ

د اختیاري payload data سره DialogRequest او BottomSheetRequest وکاروئ.

د back order کنټرول

لومړی overlay dismiss کړئ، بیا د back-scope widgets له لارې pages pop کړئ.

د overlay host pattern

Overlay په state کې وساتئ او د overlayBuilder له لارې UI جوړ کړئ.

د overlay state قاعده

انیمېټ شوی overlay host

return AnimatedScreenOverlayHost(
  overlay: _overlay,
  onDismiss: _dismissOverlay,
  overlayBuilder: (context, req, dismiss) => switch (req) {
    DialogRequest(key: 'hello') => AlertDialog(
      title: const Text('Hello'),
      actions: [TextButton(onPressed: dismiss, child: const Text('Close'))],
    ),
    _ => null,
  },
  child: DeclarativePagesNavigator(
    pages: _pages,
    buildPage: _buildPage,
    onPopTop: _popTop,
    canPopTop: () => _overlay == null,
  ),
);
Important

کله چې overlay ښکاره وي, د canPopTop په کارولو pop gestures بند کړئ ترڅو په iOS کې د back-swipe نابرابري مخه ونیول شي.