showOverlay static method
void
showOverlay({
- required Widget child,
- Duration duration = const Duration(seconds: 3),
- Alignment alignment = Alignment.topCenter,
- EdgeInsets padding = const EdgeInsets.all(20),
- VoidCallback? onDismiss,
Implementation
static void showOverlay({
required Widget child,
Duration duration = const Duration(seconds: 3),
Alignment alignment = Alignment.topCenter,
EdgeInsets padding = const EdgeInsets.all(20),
VoidCallback? onDismiss,
}) {
dismissOverlay();
final OverlayEntry overlay = OverlayEntry(
builder: (BuildContext context) => SafeArea(
child: Padding(
padding: padding,
child: Align(
alignment: alignment,
child: Material(
color: Colors.transparent,
child: child,
),
),
),
),
);
_currentOverlay = overlay;
Overlay.of(navigatorKey.currentContext!).insert(overlay);
if (duration != Duration.zero) {
Future<void>.delayed(duration, () {
dismissOverlay();
onDismiss?.call();
});
}
}