Screen-local Overlay State

Represent dialogs and sheets with OverlayRequest? and render them through ScreenOverlayHost or AnimatedScreenOverlayHost.

ایک اوورلے سلاٹ

اوورلے کو OverlayRequest? کے طور پر ماڈل کریں اور اسے صاف کر کے dismiss کریں۔

Dialog اور sheet سپورٹ

Use DialogRequest and BottomSheetRequest with optional payload data.

واپسی کی ترتیب

back-scope ویجٹس کے ذریعے پہلے اوورلے dismiss کریں، پھر صفحات pop کریں۔

اوورلے ہوسٹ نمونہ

اوورلے کو حالت میں رکھیں اور overlayBuilder کے ذریعے اوورلے UI بنائیں۔

اوورلے حالت کا اصول

Animated 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,
  ),
);
اہم

جب اوورلے نظر آ رہا ہو، block pop gestures with canPopTop to avoid back-swipe inconsistency on iOS.