showDDSToast function

void showDDSToast({
  1. required BuildContext context,
  2. Widget content = const Text('Toast Notification', style: TextStyle(color: Colors.black, fontSize: 14, fontFamily: 'Poppins', fontWeight: FontWeight.w600)),
  3. BackdropFilter? backdropFilter,
  4. Color? innerBoxShadowColor,
  5. Color? outerBoxShadowColor,
  6. List<BoxShadow>? innerBoxShadow,
  7. List<BoxShadow>? outerBoxShadow,
  8. Color? innerBackgroundColor = Colors.transparent,
  9. Color? outerBackgroundColor = Colors.transparent,
  10. Color textColor = Colors.white,
  11. double fontSize = 16.0,
  12. EdgeInsetsGeometry? padding,
  13. double borderRadius = 8.0,
  14. Duration duration = const Duration(seconds: 3),
  15. ToastPosition position = ToastPosition.bottom,
  16. Icon? icon,
  17. TextAlign textAlign = TextAlign.center,
  18. double elevation = 6.0,
  19. VoidCallback? onDismissed,
  20. double? width = 400,
  21. double? innerBoxHeight = 200,
  22. double? outerBoxHeight = 200,
  23. EdgeInsetsGeometry? margin,
})

Implementation

void showDDSToast(
    {required BuildContext context,
    Widget content = const Text(
      'Toast Notification',
      style: TextStyle(
        color: Colors.black,
        fontSize: 14,
        fontFamily: 'Poppins',
        fontWeight: FontWeight.w600,
      ),
    ),
    BackdropFilter? backdropFilter,
    Color? innerBoxShadowColor,
    Color? outerBoxShadowColor,
    List<BoxShadow>? innerBoxShadow,
    List<BoxShadow>? outerBoxShadow,
    Color? innerBackgroundColor = Colors.transparent,
    Color? outerBackgroundColor = Colors.transparent,
    Color textColor = Colors.white,
    double fontSize = 16.0,
    EdgeInsetsGeometry? padding,
    double borderRadius = 8.0,
    Duration duration = const Duration(seconds: 3),
    ToastPosition position = ToastPosition.bottom,
    Icon? icon,
    TextAlign textAlign = TextAlign.center,
    double elevation = 6.0,
    VoidCallback? onDismissed,
    double? width = 400,
    double? innerBoxHeight = 200,
    double? outerBoxHeight = 200,
    EdgeInsetsGeometry? margin}) {
  final overlay = Overlay.of(context);
  final overlayEntry = OverlayEntry(
    builder: (context) => DDSToast(
      content: content,
      innerBackgroundColor: innerBackgroundColor,
      outerBackgroundColor: outerBackgroundColor,
      innerBoxShadow: innerBoxShadow,
      outerBoxShadow: outerBoxShadow,
      innerBoxShadowColor: innerBoxShadowColor,
      outerBoxShadowColor: outerBoxShadowColor,
      padding: padding,
      backdropFilter: backdropFilter,
      borderRadius: borderRadius,
      duration: duration,
      position: position,
      icon: icon,
      textAlign: textAlign,
      elevation: elevation,
      onDismissed: onDismissed,
      width: width,
      innerBoxHeight: innerBoxHeight,
      outerBoxHeight: outerBoxHeight,
      margin: margin,
    ),
  );

  overlay.insert(overlayEntry);

  Future.delayed(duration, () {
    overlayEntry.remove();
    if (onDismissed != null) onDismissed();
  });
}