decodeSearchBarThemeData static method
Decodes the given value
to an SearchBarThemeData. This expects the given
value
to follow the structure below:
{
"backgroundColor": "<WidgetStateProperty<Color>>",
"constraints": "<BoxConstraints>",
"elevation": "<WidgetStateProperty<double>>",
"hintStyle": "<WidgetStateProperty<TextStyle>>",
"overlayColor": "<WidgetStateProperty<Color>>",
"padding": "<WidgetStateProperty<EdgeInsetsGeometry>>",
"shadowColor": "<WidgetStateProperty<Color>>",
"shape": WidgetStateProperty<OutlinedBorder>,
"side": "<WidgetStateProperty<BorderSide>>",
"surfaceTintColor": "<WidgetStateProperty<Color>>",
"textStyle": "<WidgetStateProperty<TextStyle>>",
"textCapitalization": "<TextCapitalization>"
}
See also:
Implementation
static SearchBarThemeData? decodeSearchBarThemeData(
dynamic value, {
bool validate = true,
}) {
SearchBarThemeData? result;
if (value is SearchBarThemeData) {
result = value;
} else if (value != null) {
assert(SchemaValidator.validate(
schemaId: '$_baseSchemaUrl/search_bar_theme_data',
value: value,
validate: validate,
));
result = SearchBarThemeData(
backgroundColor: decodeWidgetStatePropertyColor(
value['backgroundColor'],
validate: false,
),
constraints: decodeBoxConstraints(
value['constraints'],
validate: false,
),
elevation: decodeWidgetStatePropertyDouble(
value['elevation'],
validate: false,
),
hintStyle: decodeWidgetStatePropertyTextStyle(
value['hintStyle'],
validate: false,
),
overlayColor: decodeWidgetStatePropertyColor(
value['overlayColor'],
validate: false,
),
padding: decodeWidgetStatePropertyEdgeInsetsGeometry(
value['padding'],
validate: false,
),
shadowColor: decodeWidgetStatePropertyColor(
value['shadowColor'],
validate: false,
),
shape: decodeWidgetStatePropertyOutlinedBorder(
value['shape'],
validate: false,
),
side: decodeWidgetStatePropertyBorderSide(
value['side'],
validate: false,
),
surfaceTintColor: decodeWidgetStatePropertyColor(
value['surfaceTintColor'],
validate: false,
),
textCapitalization: decodeTextCapitalization(
value['textCapitalization'],
validate: false,
),
textStyle: decodeWidgetStatePropertyTextStyle(
value['textStyle'],
validate: false,
),
);
}
return result;
}