Lokalno stanje prekrivnega sloja na zaslonu
Predstavite dialoge in liste kot OverlayRequest? ter jih izrišite prek ScreenOverlayHost ali AnimatedScreenOverlayHost.
Eno mesto za prekrivni sloj
Prekrivni sloj modelirajte kot OverlayRequest? in ga počistite za zapiranje.
Podpora za dialoge in liste
Uporabite DialogRequest in BottomSheetRequest z neobveznimi podatki payload.
Nadzor vrstnega reda pri gumbu Nazaj
Najprej zaprite prekrivni sloj, nato zapirajte strani prek widgetov za back-scope.
Vzorec gostitelja prekrivnih slojev
Prekrivni sloj hranite v stanju in zgradite UI prekrivnega sloja prek overlayBuilder.
Pravilo stanja prekrivnega sloja
Animirani gostitelj prekrivnih slojev
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,
),
);
Pomembno
Ko je prekrivni sloj viden, blokirajte geste pop z canPopTop da se izognete nedoslednosti gesta povleci nazaj na iOS.
Nazaj
Strani in razreševalnikNaprej
Deklarativni zavihki