decodeTimePickerThemeData static method
Decodes the given value
to a TimePickerThemeData. This expects the
value
to have the following structure:
{
"backgroundColor": "<Color>",
"cancelButtonStyle": "<ButtonStyle>",
"confirmButtonStyle": "<ButtonStyle>",
"dayPeriodBorderSide": "<BorderSide>",
"dayPeriodColor": "<Color>",
"dayPeriodShape": "<ShapeBorder>",
"dayPeriodTextColor": "<Color>",
"dayPeriodTextStyle": "<TextStyle>",
"dialBackgroundColor": "<Color>",
"dialHandColor": "<Color>",
"dialTextColor": "<Color>",
"dialTextStyle": "<TextStyle>",
"elevation": "<double>",
"entryModeIconColor": "<Color>",
"helpTextStyle": "<TextStyle>",
"hourMinuteColor": "<Color>",
"hourMinuteShape": "<ShapeBorder>",
"hourMinuteTextColor": "<Color>",
"hourMinuteTextStyle": "<TextStyle>",
"inputDecorationTheme": "<InputDecorationTheme>",
"padding": "<EdgeInsetsGeometry>",
"shape": "<ShapeBorder>"
}
See also:
Implementation
static TimePickerThemeData? decodeTimePickerThemeData(
dynamic value, {
bool validate = true,
}) {
TimePickerThemeData? result;
if (value is TimePickerThemeData) {
result = value;
} else if (value != null) {
assert(SchemaValidator.validate(
schemaId: '$_baseSchemaUrl/time_picker_theme_data',
value: value,
validate: validate,
));
result = TimePickerThemeData(
backgroundColor: decodeColor(
value['backgroundColor'],
validate: false,
),
cancelButtonStyle: decodeButtonStyle(
value['cancelButtonStyle'],
validate: false,
),
confirmButtonStyle: decodeButtonStyle(
value['confirmButtonStyle'],
validate: false,
),
dayPeriodBorderSide: decodeBorderSide(
value['dayPeriodBorderSide'],
validate: false,
),
dayPeriodColor: decodeWidgetStateColor(
value['dayPeriodColor'],
validate: false,
),
dayPeriodShape: value['dayPeriodShape'] == null
? null
: decodeShapeBorder(
value['dayPeriodShape'],
validate: false,
) as OutlinedBorder?,
dayPeriodTextColor: decodeColor(
value['dayPeriodTextColor'],
validate: false,
),
dayPeriodTextStyle: decodeTextStyle(
value['dayPeriodTextStyle'],
validate: false,
),
dialBackgroundColor: decodeColor(
value['dialBackgroundColor'],
validate: false,
),
dialHandColor: decodeColor(
value['dialHandColor'],
validate: false,
),
dialTextColor: decodeColor(
value['dialTextColor'],
validate: false,
),
dialTextStyle: decodeTextStyle(
value['dialTextStyle'],
validate: false,
),
elevation: JsonClass.maybeParseDouble(value['elevation']),
entryModeIconColor: decodeColor(
value['entryModeIconColor'],
validate: false,
),
helpTextStyle: decodeTextStyle(
value['helpTextStyle'],
validate: false,
),
hourMinuteColor: decodeColor(
value['hourMinuteColor'],
validate: false,
),
hourMinuteShape: decodeShapeBorder(
value['hourMinuteShape'],
validate: false,
),
hourMinuteTextColor: decodeColor(
value['hourMinuteTextColor'],
validate: false,
),
hourMinuteTextStyle: decodeTextStyle(
value['hourMinuteTextStyle'],
validate: false,
),
inputDecorationTheme: decodeInputDecorationTheme(
value['inputDecorationTheme'],
validate: false,
),
padding: decodeEdgeInsetsGeometry(value['padding'], validate: false),
shape: decodeShapeBorder(
value['shape'],
validate: false,
),
);
}
return result;
}