Skjermlokal overlay-tilstand
Vis dialoger og ark med OverlayRequest? og gjengi dem gjennom ScreenOverlayHost eller AnimatedScreenOverlayHost.
Én overlay-plass
Modeller overlayet som OverlayRequest? og nullstill det for å lukke det.
Støtte for dialog og ark
Bruk DialogRequest og BottomSheetRequest med valgfri nyttelastdata.
Kontroll over tilbake-rekkefølge
Lukk overlayet først, og pop deretter sider via back-scope-widgets.
Mønster for overlay-host
Hold overlayet i tilstanden og bygg overlay-UI gjennom overlayBuilder.
Regel for overlay-tilstand
Animert 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,
),
);
Viktig
Når overlayet er synlig, blokker pop-bevegelser med canPopTop for å unngå inkonsekvent tilbake-sveip på iOS.
Forrige
Sider og resolverNeste
Deklarative faner