showSnackBar method

void showSnackBar({
  1. Key? key,
  2. Color? backgroundColor,
  3. double? elevation,
  4. EdgeInsetsGeometry? margin,
  5. EdgeInsetsGeometry? padding,
  6. double? width,
  7. HitTestBehavior? hitTestBehavior,
  8. SnackBarBehavior? behavior = SnackBarBehavior.floating,
  9. SnackBarAction? action,
  10. double? actionOverflowThreshold,
  11. bool? showCloseIcon,
  12. Color? closeIconColor,
  13. Animation<double>? animation,
  14. void onVisible()?,
  15. DismissDirection dismissDirection = DismissDirection.down,
  16. Clip clipBehavior = Clip.hardEdge,
  17. Duration duration = const Duration(seconds: 4),
  18. TextStyle? style,
  19. TextDirection? direction,
  20. BorderRadius? borderRadius,
  21. double horizontalPadding = 16,
  22. double verticalPadding = 8,
  23. Widget? leading,
  24. double leadingPadding = 4,
  25. Widget? title,
  26. Widget? description,
  27. Widget? trailing,
  28. double trailingPadding = 4,
})

? Show SnackBar from build context

Implementation

void showSnackBar({
  Key? key,
  Color? backgroundColor,
  double? elevation,
  EdgeInsetsGeometry? margin,
  EdgeInsetsGeometry? padding,
  double? width,
  HitTestBehavior? hitTestBehavior,
  SnackBarBehavior? behavior = SnackBarBehavior.floating,
  SnackBarAction? action,
  double? actionOverflowThreshold,
  bool? showCloseIcon,
  Color? closeIconColor,
  Animation<double>? animation,
  void Function()? onVisible,
  DismissDirection dismissDirection = DismissDirection.down,
  Clip clipBehavior = Clip.hardEdge,
  Duration duration = const Duration(seconds: 4),
  TextStyle? style,
  TextDirection? direction,
  BorderRadius? borderRadius,
  double horizontalPadding = 16,
  double verticalPadding = 8,
  Widget? leading,
  double leadingPadding = 4,
  Widget? title,
  Widget? description,
  Widget? trailing,
  double trailingPadding = 4,
}) {
  try {
    ScaffoldMessenger.of(this).showSnackBar(
      SnackBar(
        padding: padding ??
            EdgeInsets.symmetric(
                horizontal: horizontalPadding, vertical: verticalPadding),
        shape: RoundedRectangleBorder(
            borderRadius: borderRadius ?? BorderRadius.circular(8)),
        backgroundColor: backgroundColor ?? primaryColor.withOpacity(.8),
        content: Row(
          children: [
            if (leading != null) leading,
            SizedBox(width: leadingPadding),
            Expanded(
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                mainAxisAlignment: MainAxisAlignment.start,
                children: [
                  if (title != null) title,
                  if (title != null && description != null) 2.height,
                  if (description != null) description
                ],
              ),
            ),
            SizedBox(width: trailingPadding),
            if (trailing != null) trailing,
          ],
        ),
        duration: duration,
        elevation: elevation,
        margin: margin,
        width: width,
        // hitTestBehavior: hitTestBehavior,
        behavior: behavior,
        action: action,
        actionOverflowThreshold: actionOverflowThreshold,
        showCloseIcon: showCloseIcon,
        closeIconColor: closeIconColor,
        animation: animation,
        onVisible: onVisible,
        dismissDirection: dismissDirection,
        clipBehavior: clipBehavior,
        key: key,
      ),
    );
  } catch (e) {
    print('SnackBar Error $e');
  }
}