स्क्रीन-स्थानीय ओवरले स्टेट
OverlayRequest? के साथ dialogs और sheets को प्रस्तुत करें और उन्हें ScreenOverlayHost या AnimatedScreenOverlayHost के माध्यम से render करें.
एकल overlay स्लॉट
Overlay को OverlayRequest? के रूप में मॉडल करें और बंद करने के लिए इसे clear करें.
Dialog और sheet समर्थन
वैकल्पिक payload data के साथ DialogRequest और BottomSheetRequest का उपयोग करें.
Back order नियंत्रण
पहले overlay dismiss करें, फिर back-scope widgets के माध्यम से pages pop करें.
Overlay host pattern
Overlay को state में रखें और overlayBuilder के माध्यम से overlay UI बनाएं.
Overlay state नियम
Animated 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,
),
);
महत्वपूर्ण
जब overlay visible हो, canPopTop के साथ pop gestures block करें iOS पर back-swipe inconsistency से बचने के लिए.
पिछला
डेटा के रूप में पेजअगला
घोषणात्मक टैब्स