Ekranga xos overlay holati

Dialoglar va sheetlarni OverlayRequest? bilan ifodalang va ularni ScreenOverlayHost yoki AnimatedScreenOverlayHost orqali render qiling.

Bitta overlay sloti

Overlayni OverlayRequest? sifatida modellashtiring va yopish uchun uni tozalang.

Dialog va sheet qo'llovi

Ixtiyoriy payload ma'lumotlari bilan DialogRequest va BottomSheetRequest dan foydalaning.

Orqaga tartibini boshqarish

Back-scope widgetlar orqali avval overlayni yoping, keyin sahifalarni pop qiling.

Overlay host namunasi

Overlayni holatda saqlang va overlayBuilder orqali overlay UI ni quring.

Overlay holati qoidasi

Animatsiyali 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,
  ),
);
Muhim

Overlay ko'rinib turganda, canPopTop bilan pop gesturelarni bloklang iOS dagi back-swipe nomuvofiqligini oldini olish uchun.