show method
This method will create an overlay for your snack bar and insert it to the overlay entries of navigator.
Implementation
void show(BuildContext context) {
final overlay = Navigator.of(context).overlay!;
info = _SnackBarInfo(
key: GlobalKey<RawAnimatedSnackBarState>(),
createdAt: DateTime.now(),
);
info.entry = OverlayEntry(
builder: (_) => RawAnimatedSnackBar(
key: info.key,
getInitialDy: () => snackBarStrategy.computeDy(_snackBars, this),
duration: duration,
onRemoved: remove,
child: builder.call(context),
desktopSnackBarPosition: desktopSnackBarPosition,
mobileSnackBarPosition: mobileSnackBarPosition,
mobilePositionSettings: mobilePositionSettings,
animationDuration: animationDuration,
animationCurve: animationCurve,
),
);
_snackBars.add(this);
WidgetsBinding.instance.addPostFrameCallback(
(_) => overlay.insert(info.entry),
);
_snackBars = snackBarStrategy.onAdd(_snackBars, this);
}