Gjendja lokale e mbivendosjes për ekranin

Përfaqëso dialogët dhe sheets me OverlayRequest? dhe renderoji përmes ScreenOverlayHost ose AnimatedScreenOverlayHost.

Hapësirë e vetme për mbivendosje

Modelo mbivendosjen si OverlayRequest? dhe pastroje për ta mbyllur.

Mbështetje për dialogë dhe sheets

Përdor DialogRequest dhe BottomSheetRequest me të dhëna opsionale payload.

Kontroll i rendit të kthimit

Mbylle fillimisht mbivendosjen, pastaj hiq faqet, përmes widget-eve të scope-it të kthimit.

Modeli i host-it të mbivendosjes

Mbaje mbivendosjen në gjendje dhe ndërto UI-n e saj përmes overlayBuilder.

Rregulli i gjendjes së mbivendosjes

Host i animuar i mbivendosjes

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,
  ),
);
E rëndësishme

Kur mbivendosja është e dukshme, blloko gjestet e pop me canPopTop për të shmangur mospërputhje të rrëshqitjes prapa në iOS.