decodeSnackBarThemeData static method

SnackBarThemeData? decodeSnackBarThemeData(
  1. dynamic value, {
  2. bool validate = true,
})

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;
}