showDTSnackBarCustom function

void showDTSnackBarCustom(
  1. BuildContext context,
  2. Widget title, {
  3. Color? iconColor,
  4. Color? backgroundColor,
  5. Duration showOutAnimationDuration = const Duration(milliseconds: 1200),
  6. Duration hideOutAnimationDuration = const Duration(milliseconds: 550),
  7. Duration displayDuration = const Duration(seconds: 3),
  8. double additionalTopPadding = 0.0,
  9. VoidCallback? onTap,
  10. OverlayState? overlayState,
  11. double leftPadding = 0.0,
  12. double rightPadding = 0.0,
})

Implementation

void showDTSnackBarCustom(
  BuildContext context,
  Widget title, {
  Color? iconColor,
  Color? backgroundColor,
  Duration showOutAnimationDuration = const Duration(milliseconds: 1200),
  Duration hideOutAnimationDuration = const Duration(milliseconds: 550),
  Duration displayDuration = const Duration(seconds: 3),
  double additionalTopPadding = 0.0,
  VoidCallback? onTap,
  OverlayState? overlayState,
  double leftPadding = 0.0,
  double rightPadding = 0.0,
}) async {
  overlayState ??= Overlay.of(context);
  late OverlayEntry overlayEntry;
  overlayEntry = OverlayEntry(
    builder: (context) {
      return DismissableCustomTopSnackBar(
        title: title,
        onDismissed: () {
          overlayEntry.remove();
          _previousEntry = null;
        },
        iconColor: iconColor,
        backgroundColor: backgroundColor,
        showOutAnimationDuration: showOutAnimationDuration,
        hideOutAnimationDuration: hideOutAnimationDuration,
        displayDuration: displayDuration,
        additionalTopPadding: additionalTopPadding,
        onTap: onTap,
        leftPadding: leftPadding,
        rightPadding: rightPadding,
      );
    },
  );

  _previousEntry?.remove();
  overlayState.insert(overlayEntry);
  _previousEntry = overlayEntry;
}