Ekrānam lokāls pārklājuma stāvoklis

Attēlojiet dialogus un loksnes ar OverlayRequest? un renderējiet tos caur ScreenOverlayHost vai AnimatedScreenOverlayHost.

Viena pārklājuma vieta

Modelējiet pārklājumu kā OverlayRequest? un notīriet to, lai aizvērtu.

Dialogu un lokšņu atbalsts

Izmantojiet DialogRequest un BottomSheetRequest ar izvēles payload datiem.

Atpakaļ secības kontrole

Vispirms aizveriet pārklājumu, pēc tam izņemiet lapas, izmantojot back-scope logrīkus.

Pārklājuma host paraugs

Glabājiet pārklājumu stāvoklī un veidojiet pārklājuma UI caur overlayBuilder.

Pārklājuma stāvokļa noteikums

Animēts pārklājuma hosts

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,
  ),
);
Svarīgi

Kad pārklājums ir redzams, bloķējiet pop žestus ar canPopTop lai iOS izvairītos no neatbilstīgas atpakaļ vilkšanas uzvedības.