decodeSliderThemeData static method
Decodes the given value
to a SliderThemeData. This expects the
value
to have the following structure:
{
"activeTickMarkColor": <Color>,
"activeTrackColor": <Color>,
"disabledActiveTickMarkColor": <Color>,
"disabledActiveTrackColor": <Color>,
"disabledInactiveTickMarkColor": <Color>,
"disabledInactiveTrackColor": <Color>,
"disabledThumbColor": <Color>,
"inactiveTickMarkColor": <Color>,
"inactiveTrackColor": <Color>,
"minThumbSeparation": <double>,
"overlappingShapeStrokeColor": <Color>,
"overlayColor": <Color>,
"overlayShape": <SliderComponentShape>,
"rangeThumbShape": <RangeSliderThumbShape>,
"rangeTickMarkShape": <RangeSliderTickMarkShape>,
"rangeTrackShape": <RangeSliderTrackShape>,
"rangeValueIndicatorShape": <RangeSliderValueIndicatorShape>,
"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,
),
disabledActiveTickMarkColor: decodeColor(
value['disabledActiveTickMarkColor'],
validate: false,
),
disabledActiveTrackColor: decodeColor(
value['disabledActiveTrackColor'],
validate: false,
),
disabledInactiveTickMarkColor: decodeColor(
value['disabledInactiveTickMarkColor'],
validate: false,
),
disabledInactiveTrackColor: decodeColor(
value['disabledInactiveTrackColor'],
validate: false,
),
disabledThumbColor: decodeColor(
value['disabledThumbColor'],
validate: false,
),
inactiveTickMarkColor: decodeColor(
value['inactiveTickMarkColor'],
validate: false,
),
inactiveTrackColor: decodeColor(
value['inactiveTrackColor'],
validate: false,
),
minThumbSeparation: JsonClass.parseDouble(value['minThumbSeparation']),
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,
),
showValueIndicator: decodeShowValueIndicator(
value['showValueIndicator'],
validate: false,
),
thumbColor: decodeColor(
value['thumbColor'],
validate: false,
),
// @unencodable
// thumbSelector
thumbShape: decodeSliderComponentShape(
value['thumbShape'],
validate: false,
),
tickMarkShape: decodeSliderTickMarkShape(
value['tickMarkShape'],
validate: false,
),
trackHeight: JsonClass.parseDouble(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;
}