decodeListTileThemeData static method
Decodes the given value
to an Locale. This expects the
given value
to be of the following structure:
{
"contentPadding": <EdgeInsetsGeometry>,
"dense": <bool>,
"enableFeedback": <bool>,
"horizontalTitleGap": <double>,
"iconColor": <Color>,
"minLeadingWidth": <double>,
"minVerticalPadding": <double>,
"mouseCursor": <MaterialStateProperty<MouseCursor>>,
"selectedColor": <Color>,
"selectedTileColor": <Color>,
"shape": <ShapeBorder>,
"style": <ListTileStyle>,
"textColor": <Color>,
"tileColor": <Color>,
"visualDensity": <VisualDensity>
}
Implementation
static ListTileThemeData? decodeListTileThemeData(
dynamic value, {
bool validate = true,
}) {
ListTileThemeData? result;
if (value is ListTileThemeData) {
result = value;
} else if (value != null) {
assert(SchemaValidator.validate(
schemaId: '$_baseSchemaUrl/list_tile_theme_data',
value: value,
validate: validate,
));
result = ListTileThemeData(
contentPadding: decodeEdgeInsetsGeometry(
value['contentPadding'],
validate: false,
),
dense:
value['dense'] == null ? null : JsonClass.parseBool(value['dense']),
enableFeedback: value['enableFeedback'] == null
? null
: JsonClass.parseBool(value['enableFeedback']),
horizontalTitleGap: JsonClass.parseDouble(value['horizontalTitleGap']),
iconColor: decodeColor(
value['iconColor'],
validate: false,
),
minLeadingWidth: JsonClass.parseDouble(value['minLeadingWidth']),
minVerticalPadding: JsonClass.parseDouble(value['minVerticalPadding']),
mouseCursor: decodeMaterialStatePropertyMouseCursor(
value['mouseCursor'],
validate: false,
),
selectedColor: decodeColor(
value['selectedColor'],
validate: false,
),
selectedTileColor: decodeColor(
value['selectedTileColor'],
validate: false,
),
shape: decodeShapeBorder(
value['shape'],
validate: false,
),
style: decodeListTileStyle(
value['style'],
validate: false,
),
textColor: decodeColor(
value['textColor'],
validate: false,
),
tileColor: decodeColor(
value['tileColor'],
validate: false,
),
visualDensity: decodeVisualDensity(
value['visualDensity'],
validate: false,
),
);
}
return result;
}