ສະຖານະ overlay ທ້ອງຖິ່ນຂອງໜ້າຈໍ

ສະແດງ dialogs ແລະ sheets ດ້ວຍ OverlayRequest? ແລະ render ຜ່ານ ScreenOverlayHost ຫຼື AnimatedScreenOverlayHost.

ຊ່ອງ overlay ດຽວ

ສ້າງ model overlay ເປັນ OverlayRequest? ແລະ clear ມັນເພື່ອປິດ.

ຮອງຮັບ dialog ແລະ sheet

ໃຊ້ DialogRequest ແລະ BottomSheetRequest ພ້ອມ payload data ທາງເລືອກ.

ຄວບຄຸມລຳດັບກັບຄືນ

ປິດ overlay ກ່ອນ, ແລ້ວ pop pages ຜ່ານ back-scope widgets.

ແບບແຜນ overlay host

ຮັກສາ overlay ໄວ້ໃນ state ແລະສ້າງ UI ຜ່ານ overlayBuilder.

ກົດ state ຂອງ overlay

ໂຮສຕ໌ overlay ແບບອະນິເມຊັນ

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 ຖືກສະແດງ, ບລັອກ pop gestures ດ້ວຍ canPopTop ເພື່ອຫຼີກລ້ຽງ back-swipe ບໍ່ສອດຄ່ອງໃນ iOS.