showSimpleNotification function

OverlayNotificationEntry showSimpleNotification(
  1. Widget content, {
  2. Widget? leading,
  3. Widget? subtitle,
  4. Widget? trailing,
  5. EdgeInsetsGeometry? contentPadding,
  6. Color? background,
  7. Color? foreground,
  8. double elevation = 16,
  9. Duration? duration,
  10. Key? key,
  11. bool autoDismiss = true,
  12. @Deprecated('use slideDismissDirection instead') bool slideDismiss = false,
  13. NotificationPosition position = NotificationPosition.top,
  14. BuildContext? context,
  15. DismissDirection? slideDismissDirection,
  16. AlignmentGeometry? alignment,
  17. EdgeInsetsGeometry? padding,
  18. Color? color,
  19. Decoration? decoration,
  20. Decoration? foregroundDecoration,
  21. double? width,
  22. double? height,
  23. BoxConstraints? constraints,
  24. EdgeInsetsGeometry? margin,
  25. Matrix4? transform,
  26. AlignmentGeometry? transformAlignment,
  27. Clip clipBehavior = Clip.none,
  28. MaterialType type = MaterialType.canvas,
  29. Color? shadowColor,
  30. Color? surfaceTintColor,
  31. TextStyle? textStyle,
  32. BorderRadiusGeometry? borderRadius,
  33. ShapeBorder? shape,
  34. bool borderOnForeground = true,
  35. Duration animationDuration = kThemeChangeDuration,
})

Show a simple notification above the top of window.

Implementation

OverlayNotificationEntry showSimpleNotification(
  Widget content, {
  /**
   * See more [ListTile.leading].
   */
  Widget? leading,
  /**
   * See more [ListTile.subtitle].
   */
  Widget? subtitle,
  /**
   * See more [ListTile.trailing].
   */
  Widget? trailing,
  /**
   * See more [ListTile.contentPadding].
   */
  EdgeInsetsGeometry? contentPadding,
  /**
   * The background color for notification, default to [ColorScheme.secondary].
   */
  Color? background,
  /**
   * See more [ListTileTheme.textColor],[ListTileTheme.iconColor].
   */
  Color? foreground,
  /**
   * The elevation of notification, see more [Material.elevation].
   */
  double elevation = 16,
  Duration? duration,
  Key? key,
  /**
   * True to auto hide after duration [kNotificationDuration].
   */
  bool autoDismiss = true,
  /**
   * Support left/right to dismiss notification.
   */
  @Deprecated('use slideDismissDirection instead') bool slideDismiss = false,
  /**
   * The position of notification, default is [NotificationPosition.top],
   */
  NotificationPosition position = NotificationPosition.top,
  BuildContext? context,
  /**
   * The direction in which the notification can be dismissed.
   */
  DismissDirection? slideDismissDirection,
  AlignmentGeometry? alignment,
  EdgeInsetsGeometry? padding,
  Color? color,
  Decoration? decoration,
  Decoration? foregroundDecoration,
  double? width,
  double? height,
  BoxConstraints? constraints,
  EdgeInsetsGeometry? margin,
  Matrix4? transform,
  AlignmentGeometry? transformAlignment,
  Clip clipBehavior = Clip.none,
  MaterialType type = MaterialType.canvas,
  Color? shadowColor,
  Color? surfaceTintColor,
  TextStyle? textStyle,
  BorderRadiusGeometry? borderRadius,
  ShapeBorder? shape,
  bool borderOnForeground = true,
  Duration animationDuration = kThemeChangeDuration,
}) {
  final dismissDirection = slideDismissDirection ??
      (slideDismiss ? DismissDirection.horizontal : DismissDirection.none);
  final entry = showOverlayNotification(
    (context) {
      return SlideDismissible(
        direction: dismissDirection,
        key: ValueKey(key),
        child: Material(
          color: background ?? Theme.of(context).colorScheme.secondary,
          elevation: elevation,
          borderRadius: borderRadius,
          shape: shape,
          shadowColor: shadowColor,
          clipBehavior: clipBehavior,
          animationDuration: animationDuration,
          borderOnForeground: borderOnForeground,
          surfaceTintColor: surfaceTintColor,
          textStyle: textStyle,
          type: type,
          child: Container(
            margin: margin,
            width: width,
            height: height,
            constraints: constraints,
            alignment: alignment,
            padding: padding,
            decoration: decoration,
            foregroundDecoration: foregroundDecoration,
            transform: transform,
            transformAlignment: transformAlignment,
            clipBehavior: clipBehavior,
            child: SafeArea(
              bottom: position == NotificationPosition.bottom,
              top: position == NotificationPosition.top,
              child: ListTileTheme(
                textColor:
                    foreground ?? Theme.of(context).colorScheme.onSecondary,
                iconColor:
                    foreground ?? Theme.of(context).colorScheme.onSecondary,
                child: ListTile(
                  leading: leading,
                  title: content,
                  subtitle: subtitle,
                  trailing: trailing,
                  contentPadding: contentPadding,
                ),
              ),
            ),
          ),
        ),
      );
    },
    duration: autoDismiss ? duration : Duration.zero,
    key: key,
    position: position,
    context: context,
  );
  return entry;
}