decodeDrawerThemeData static method

DrawerThemeData? decodeDrawerThemeData(
  1. dynamic value, {
  2. bool validate = true,
})

Decodes the given value to an DrawerThemeData. This expects the given value to be of the following structure:

{
  "backgroundColor": <Color>,
  "elevation": <double>,
  "scrimColor": <Color>,
  "shape": <ShapeBorder>,
  "width": <double>
}

See also:

Implementation

static DrawerThemeData? decodeDrawerThemeData(
  dynamic value, {
  bool validate = true,
}) {
  DrawerThemeData? result;

  if (value is DrawerThemeData) {
    result = value;
  } else if (value != null) {
    assert(SchemaValidator.validate(
      schemaId: '$_baseSchemaUrl/drawer_theme_data',
      value: value,
      validate: validate,
    ));

    result = DrawerThemeData(
      backgroundColor: decodeColor(
        value['backgroundColor'],
        validate: false,
      ),
      elevation: JsonClass.parseDouble(value['elevation']),
      scrimColor: decodeColor(
        value['scrimColor'],
        validate: false,
      ),
      shape: decodeShapeBorder(
        value['shape'],
        validate: false,
      ),
      width: JsonClass.parseDouble(value['width']),
    );
  }

  return result;
}