showSnackBar method
void
showSnackBar
({@required SnackBarMessageType messageType, @required bool iconVisibility, String message: "", Duration duration, Color backgroundColor: Colors.black, Color textColor: Colors.white, Color iconColor: Colors.white, TextDirection textDirection: TextDirection.ltr, TextStyle style })
Implementation
void showSnackBar({
@required SnackBarMessageType messageType,
@required bool iconVisibility,
String message = "",
Duration duration,
Color backgroundColor = Colors.black,
Color textColor = Colors.white,
Color iconColor = Colors.white,
TextDirection textDirection = TextDirection.ltr,
TextStyle style,
}) {
IconData icon;
switch (messageType) {
case SnackBarMessageType.info:
icon = Icons.info;
break;
case SnackBarMessageType.warning:
icon = Icons.warning;
break;
case SnackBarMessageType.error:
icon = Icons.error;
break;
case SnackBarMessageType.successful:
icon = Icons.done;
break;
case SnackBarMessageType.failed:
icon = Icons.close;
break;
case SnackBarMessageType.none:
break;
}
final text = Text(
message,
style: style != null
? style.copyWith(color: textColor != null ? textColor : null)
: this.textTheme.subhead.copyWith(color: textColor),
);
this.scaffoldKey.currentState.showSnackBar(
SnackBar(
backgroundColor: backgroundColor,
duration: duration ?? Duration(seconds: 1),
content: Directionality(
textDirection: textDirection,
child: iconVisibility
? Row(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Icon(icon, color: iconColor),
SizedBox(width: 4.0),
text,
],
)
: text,
),
),
);
}