decodeSwitchThemeData static method
Decodes the given value
to an SwitchThemeData. This expects the given
value
to follow the structure below:
{
"materialTapTargetSize": "<MaterialTapTargetSize>",
"mouseCursor": "<WidgetStateProperty<MouseCursor>>",
"overlayColor": "<WidgetStateProperty<Color>>",
"splashRadius": "<double>",
"thumbColor": "<WidgetStateProperty<Color>>",
"trackColor": "<WidgetStateProperty<Color>>",
"trackOutlineColor": "<WidgetStateProperty<Color>>"
"trackOutlineWidth": "<WidgetStateProperty<double>>"
}
See also:
Implementation
static SwitchThemeData? decodeSwitchThemeData(
dynamic value, {
bool validate = true,
}) {
SwitchThemeData? result;
if (value is SwitchThemeData) {
result = value;
} else if (value != null) {
assert(SchemaValidator.validate(
schemaId: '$_baseSchemaUrl/switch_theme_data',
value: value,
validate: validate,
));
result = SwitchThemeData(
materialTapTargetSize: decodeMaterialTapTargetSize(
value['materialTapTargetSize'],
validate: false,
),
mouseCursor: decodeWidgetStatePropertyMouseCursor(
value['mouseCursor'],
validate: false,
),
overlayColor: decodeWidgetStatePropertyColor(
value['overlayColor'],
validate: false,
),
splashRadius: JsonClass.maybeParseDouble(value['splashRadius']),
thumbColor: decodeWidgetStatePropertyColor(
value['thumbColor'],
validate: false,
),
thumbIcon: decodeWidgetStatePropertyIcon(
value['thumbIcon'],
validate: false,
),
trackColor: decodeWidgetStatePropertyColor(
value['trackColor'],
validate: false,
),
trackOutlineColor: decodeWidgetStatePropertyColor(
value['trackOutlineColor'],
validate: false,
),
trackOutlineWidth: decodeWidgetStatePropertyDouble(
value['trackOutlineWidth'],
validate: false,
),
);
}
return result;
}