decodeSliderThemeData static method
Decodes the given value
to a SliderThemeData. This expects the
value
to have the following structure:
{
"activeTickMarkColor": "<Color>",
"activeTrackColor": "<Color>",
"allowedInteraction": "<SliderInteraction>",
"disabledActiveTickMarkColor": "<Color>",
"disabledActiveTrackColor": "<Color>",
"disabledInactiveTickMarkColor": "<Color>",
"disabledInactiveTrackColor": "<Color>",
"disabledSecondaryActiveTrackColor": "<Color>",
"disabledThumbColor": "<Color>",
"inactiveTickMarkColor": "<Color>",
"inactiveTrackColor": "<Color>",
"minThumbSeparation": "<double>",
"mouseCursor": "<WidgetStateProperty<MouseCursor>>",
"overlappingShapeStrokeColor": "<Color>",
"overlayColor": "<Color>",
"overlayShape": "<SliderComponentShape>",
"rangeThumbShape": "<RangeSliderThumbShape>",
"rangeTickMarkShape": "<RangeSliderTickMarkShape>",
"rangeTrackShape": "<RangeSliderTrackShape>",
"rangeValueIndicatorShape": "<RangeSliderValueIndicatorShape>",
"secondaryActiveTrackColor": "<Color>",
"showValueIndicator": "<ShowValueIndicator>",
"thumbColor": "<Color>",
"thumbShape": "<SliderComponentShape>",
"tickMarkShape": "<SliderTickMarkShape>",
"trackHeight": "<double>",
"trackShape": "<SliderTrackShape>",
"valueIndicatorColor": "<Color>",
"valueIndicatorShape": "<SliderComponentShape>",
"valueIndicatorTextStyle": "<TextStyle>"
}
See also:
Implementation
static SliderThemeData? decodeSliderThemeData(
dynamic value, {
bool validate = true,
}) {
SliderThemeData? result;
if (value is SliderThemeData) {
result = value;
} else if (value != null) {
assert(SchemaValidator.validate(
schemaId: '$_baseSchemaUrl/slider_theme_data',
value: value,
validate: validate,
));
result = SliderThemeData(
activeTickMarkColor: decodeColor(
value['activeTickMarkColor'],
validate: false,
),
activeTrackColor: decodeColor(
value['activeTrackColor'],
validate: false,
),
allowedInteraction: decodeSliderInteraction(
value['allowedInteraction'],
validate: false,
),
disabledActiveTickMarkColor: decodeColor(
value['disabledActiveTickMarkColor'],
validate: false,
),
disabledActiveTrackColor: decodeColor(
value['disabledActiveTrackColor'],
validate: false,
),
disabledInactiveTickMarkColor: decodeColor(
value['disabledInactiveTickMarkColor'],
validate: false,
),
disabledInactiveTrackColor: decodeColor(
value['disabledInactiveTrackColor'],
validate: false,
),
disabledSecondaryActiveTrackColor: decodeColor(
value['disabledSecondaryActiveTrackColor'],
validate: false,
),
disabledThumbColor: decodeColor(
value['disabledThumbColor'],
validate: false,
),
inactiveTickMarkColor: decodeColor(
value['inactiveTickMarkColor'],
validate: false,
),
inactiveTrackColor: decodeColor(
value['inactiveTrackColor'],
validate: false,
),
minThumbSeparation:
JsonClass.maybeParseDouble(value['minThumbSeparation']),
mouseCursor: decodeWidgetStatePropertyMouseCursor(
value['mouseCursor'],
validate: false,
),
overlappingShapeStrokeColor: decodeColor(
value['overlappingShapeStrokeColor'],
validate: false,
),
overlayColor: decodeColor(
value['overlayColor'],
validate: false,
),
overlayShape: decodeSliderComponentShape(
value['overlayShape'],
validate: false,
),
rangeThumbShape: decodeRangeSliderThumbShape(
value['rangeThumbShape'],
validate: false,
),
rangeTickMarkShape: decodeRangeSliderTickMarkShape(
value['rangeTickMarkShape'],
validate: false,
),
rangeTrackShape: decodeRangeSliderTrackShape(
value['rangeTrackShape'],
validate: false,
),
rangeValueIndicatorShape: decodeRangeSliderValueIndicatorShape(
value['rangeValueIndicatorShape'],
validate: false,
),
secondaryActiveTrackColor: decodeColor(
value['secondaryActiveTrackColor'],
validate: false,
),
showValueIndicator: decodeShowValueIndicator(
value['showValueIndicator'],
validate: false,
),
thumbColor: decodeColor(
value['thumbColor'],
validate: false,
),
// thumbSelector: @unencodable
thumbShape: decodeSliderComponentShape(
value['thumbShape'],
validate: false,
),
tickMarkShape: decodeSliderTickMarkShape(
value['tickMarkShape'],
validate: false,
),
trackHeight: JsonClass.maybeParseDouble(value['trackHeight']),
trackShape: decodeSliderTrackShape(
value['trackShape'],
validate: false,
),
valueIndicatorColor: decodeColor(
value['valueIndicatorColor'],
validate: false,
),
valueIndicatorShape: decodeSliderComponentShape(
value['valueIndicatorShape'],
validate: false,
),
valueIndicatorTextStyle: decodeTextStyle(
value['valueIndicatorTextStyle'],
validate: false,
),
);
}
return result;
}