showSnackBar method

void showSnackBar({
  1. required BuildContext context,
  2. required String message,
  3. Color? backgroundColor,
  4. Color? textColor,
  5. SnackBarType? snackBarType,
  6. bool aboveBottomNavBar = false,
  7. EdgeInsets? margin,
  8. VoidCallback? onActionTapped,
  9. String? actionString,
})

Implementation

void showSnackBar({
  required BuildContext context,
  required String message,
  Color? backgroundColor,
  Color? textColor,
  SnackBarType? snackBarType,
  bool aboveBottomNavBar = false,
  EdgeInsets? margin,
  VoidCallback? onActionTapped,
  String? actionString,
}) {
  try {
    ScaffoldMessenger.of(context).removeCurrentSnackBar();
    ScaffoldMessenger.of(context).showSnackBar(
      SnackBar(
        duration: Duration(seconds: 2),
        behavior: aboveBottomNavBar ? SnackBarBehavior.floating : null,
        content: Text(
          message,
        ),
        backgroundColor: backgroundColor ??
            ((snackBarType ?? SnackBarType.info) == SnackBarType.success
                ? Colors.green
                : (snackBarType ?? SnackBarType.info) == SnackBarType.error
                    ? Colors.red
                    : null),
        margin: margin,
        action: SnackBarAction(
          label: actionString ?? 'Done',
          textColor: textColor ??
              ((snackBarType ?? SnackBarType.info) == SnackBarType.error ||
                      (snackBarType ?? SnackBarType.info) ==
                          SnackBarType.success ||
                      (snackBarType ?? SnackBarType.info) == SnackBarType.info
                  ? Colors.white
                  : null),
          onPressed: onActionTapped ?? () {},
        ),
      ),
    );
  } catch (e) {
    //
  }
}