decodeSnackBarThemeData static method
Decodes the given value
to a SnackBarThemeData. This expects the
value
to have the following structure:
{
"actionBackgroundColor": "<Color>",
"actionOverflowThreshold": "<double>",
"actionTextColor": "<Color>",
"backgroundColor": "<Color>",
"behavior": "<SnackBarBehavior>",
"closeIconColor": "<Color>",
"contentTextStyle": "<TextStyle>",
"disabledActionBackgroundColor": "<Color>",
"disabledActionTextColor": "<Color>",
"elevation": "<double>",
"insetPadding": "<EdgeInsets>",
"shape": "<ShapeBorder>",
"showCloseIcon": "<bool>",
"width": "<double>"
}
See also:
Implementation
static SnackBarThemeData? decodeSnackBarThemeData(
dynamic value, {
bool validate = true,
}) {
SnackBarThemeData? result;
if (value is SnackBarThemeData) {
result = value;
} else if (value != null) {
assert(SchemaValidator.validate(
schemaId: '$_baseSchemaUrl/snack_bar_theme_data',
value: value,
validate: validate,
));
result = SnackBarThemeData(
actionBackgroundColor: decodeColor(
value['actionBackgroundColor'],
validate: false,
),
actionOverflowThreshold: JsonClass.maybeParseDouble(
value['actionOverflowThreshold'],
),
actionTextColor: decodeColor(
value['actionTextColor'],
validate: false,
),
backgroundColor: decodeColor(
value['backgroundColor'],
validate: false,
),
behavior: decodeSnackBarBehavior(
value['behavior'],
validate: false,
),
closeIconColor: decodeColor(
value['closeIconColor'],
validate: false,
),
contentTextStyle: decodeTextStyle(
value['contentTextStyle'],
validate: false,
),
disabledActionBackgroundColor: decodeColor(
value['disabledActionBackgroundColor'],
validate: false,
),
disabledActionTextColor: decodeColor(
value['disabledActionTextColor'],
validate: false,
),
elevation: JsonClass.maybeParseDouble(value['elevation']),
insetPadding: decodeEdgeInsets(
value['insetPadding'],
validate: false,
),
shape: decodeShapeBorder(
value['shape'],
validate: false,
),
showCloseIcon: JsonClass.maybeParseBool(value['showCloseIcon']),
width: JsonClass.maybeParseDouble(value['width']),
);
}
return result;
}