Keadaan Overlay Setempat Skrin
Wakilkan dialog dan sheet sebagai OverlayRequest? lalu render melalui ScreenOverlayHost atau AnimatedScreenOverlayHost.
Satu slot overlay
Modelkan overlay sebagai OverlayRequest? dan kosongkannya untuk menutup.
Sokongan dialog dan sheet
Gunakan DialogRequest dan BottomSheetRequest dengan data payload pilihan.
Kawalan susunan kembali
Tutup overlay dahulu, kemudian pop halaman, melalui widget back-scope.
Corak Host Overlay
Simpan overlay dalam keadaan dan bina UI overlay melalui overlayBuilder.
Peraturan Keadaan Overlay
Host Overlay Beranimasi
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,
),
);
Penting
Apabila overlay kelihatan, sekat gesture pop dengan canPopTop bagi mengelakkan ketakselarasan back-swipe pada iOS.
Sebelumnya
Halaman dan ResolverSeterusnya
Tab Deklaratif