decodeChipThemeData static method
Decodes the given value
to an CardTheme. This expects the given
value
to follow the structure below:
{
"backgroundColor": "<Color>",
"brightness": "<Brightness>",
"checkmarkColor": "<Color>",
"color": "<WidgetStateProperty<Color>>"
"deleteIconColor": "<Color>",
"disabledColor": "<Color>",
"elevation": "<double>",
"iconTheme": "<IconThemeData>",
"labelPadding": "<EdgeInsetsGeometry>",
"labelStyle": "<TextStyle>",
"padding": "<EdgeInsetsGeometry>",
"pressElevation": "<double>",
"secondaryLabelStyle": "<TextStyle>",
"secondarySelectedColor": "<Color>",
"selectedColor": "<Color>",
"shape": "<ShapeBorder>",
"side": "<BorderSide>",
"selectedShadowColor": "<Color>",
"shadowColor": "<Color>",
"showCheckmark": "<bool>",
"surfaceTintColor": "<Color>"
}
See also:
Implementation
static ChipThemeData? decodeChipThemeData(
dynamic value, {
bool validate = true,
}) {
ChipThemeData? result;
if (value is ChipThemeData) {
result = value;
} else if (value != null) {
assert(SchemaValidator.validate(
schemaId: '$_baseSchemaUrl/chip_theme_data',
value: value,
validate: validate,
));
result = ChipThemeData(
backgroundColor: decodeColor(
value['backgroundColor'],
validate: false,
),
brightness: decodeBrightness(
value['brightness'],
validate: false,
),
checkmarkColor: decodeColor(
value['checkmarkColor'],
validate: false,
),
color: decodeWidgetStatePropertyColor(
value['color'],
validate: false,
),
deleteIconColor: decodeColor(
value['deleteIconColor'],
validate: false,
),
disabledColor: decodeColor(
value['disabledColor'],
validate: false,
),
elevation: JsonClass.maybeParseDouble(value['elevation']),
iconTheme: decodeIconThemeData(
value['iconTheme'],
validate: false,
),
labelPadding: decodeEdgeInsetsGeometry(
value['labelPadding'],
validate: false,
),
labelStyle: decodeTextStyle(
value['labelStyle'],
validate: false,
),
padding: decodeEdgeInsetsGeometry(
value['padding'],
validate: false,
),
pressElevation: JsonClass.maybeParseDouble(value['pressElevation']),
secondaryLabelStyle: decodeTextStyle(
value['secondaryLabelStyle'],
validate: false,
),
secondarySelectedColor: decodeColor(
value['secondarySelectedColor'],
validate: false,
),
selectedColor: decodeColor(
value['selectedColor'],
validate: false,
),
shape: decodeShapeBorder(
value['shape'],
validate: false,
) as OutlinedBorder?,
side: decodeBorderSide(
value['side'],
validate: false,
),
selectedShadowColor: decodeColor(
value['selectedShadowColor'],
validate: false,
),
shadowColor: decodeColor(
value['shadowColor'],
validate: false,
),
showCheckmark: JsonClass.maybeParseBool(value['showCheckmark']),
surfaceTintColor: decodeColor(
value['surfaceTintColor'],
validate: false,
),
);
}
return result;
}