Ekranui lokali overlay būsena
Vaizduokite dialogus ir sheets su OverlayRequest? ir atvaizduokite juos per ScreenOverlayHost arba AnimatedScreenOverlayHost.
Vienas overlay lizdas
Modeliuokite overlay kaip OverlayRequest? ir išvalykite jį uždarymui.
Dialogų ir sheet'ų palaikymas
Naudokite DialogRequest ir BottomSheetRequest su pasirenkamais payload duomenimis.
Atgal eigos kontrolė
Pirmiausia uždarykite overlay, o tada popinkite puslapius per back-scope widgetus.
Overlay hosto šablonas
Laikykite overlay būsenoje ir kurkite overlay UI per overlayBuilder.
Overlay būsenos taisyklė
Animuotas overlay hostas
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,
),
);
Svarbu
Kai overlay matomas, blokuokite pop gestus su canPopTop kad išvengtumėte iOS back-swipe nenuoseklumo.
Ankstesnis
Puslapiai kaip duomenysKitas
Grįžimo valdymas