decodeCheckboxThemeData static method
Decodes the given value
to an CheckboxThemeData. This expects the given
value
to follow the structure below:
{
"checkColor": "<Color>",
"fillColor": "<WidgetStateProperty<Color>>",
"materialTapTargetSize": "<MaterialTapTargetSize>",
"mouseCursor": "<WidgetStateProperty<MouseCursor>>",
"overlayColor": "<WidgetStateProperty<Color>>",
"shape": "<OutlinedBorder>",
"side": "<BorderSide>",
"splashRadius": "<double>",
"visualDensity": "<VisualDensity>"
}
See also:
Implementation
static CheckboxThemeData? decodeCheckboxThemeData(
dynamic value, {
bool validate = true,
}) {
CheckboxThemeData? result;
if (value is CheckboxThemeData) {
result = value;
} else if (value != null) {
assert(SchemaValidator.validate(
schemaId: '$_baseSchemaUrl/checkbox_theme_data',
value: value,
validate: validate,
));
result = CheckboxThemeData(
checkColor: decodeWidgetStatePropertyColor(
value['checkColor'],
validate: false,
),
fillColor: decodeWidgetStatePropertyColor(
value['fillColor'],
validate: false,
),
materialTapTargetSize: decodeMaterialTapTargetSize(
value['materialTapTargetSize'],
validate: false,
),
mouseCursor: decodeWidgetStatePropertyMouseCursor(
value['mouseCursor'],
validate: false,
),
overlayColor: decodeWidgetStatePropertyColor(
value['overlayColor'],
validate: false,
),
shape: decodeOutlinedBorder(
value['outlinedBorder'],
validate: false,
),
side: decodeBorderSide(
value['borderSide'],
validate: false,
),
splashRadius: JsonClass.maybeParseDouble(value['splashRadius']),
visualDensity: decodeVisualDensity(
value['visualDensity'],
validate: false,
),
);
}
return result;
}