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>",
"leadingAndTrailingTextStyle": "<TextStyle>",
"minLeadingWidth": "<double>",
"minVerticalPadding": "<double>",
"mouseCursor": "<WidgetStateProperty<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: JsonClass.maybeParseBool(value['dense']),
enableFeedback: JsonClass.maybeParseBool(value['enableFeedback']),
horizontalTitleGap:
JsonClass.maybeParseDouble(value['horizontalTitleGap']),
iconColor: decodeColor(
value['iconColor'],
validate: false,
),
leadingAndTrailingTextStyle: decodeTextStyle(
value['leadingAndTrailingTextStyle'],
validate: false,
),
minLeadingWidth: JsonClass.maybeParseDouble(value['minLeadingWidth']),
minVerticalPadding:
JsonClass.maybeParseDouble(value['minVerticalPadding']),
mouseCursor: decodeWidgetStatePropertyMouseCursor(
value['mouseCursor'],
validate: false,
),
selectedColor: decodeColor(
value['selectedColor'],
validate: false,
),
selectedTileColor: decodeColor(
value['selectedTileColor'],
validate: false,
),
shape: decodeShapeBorder(
value['shape'],
validate: false,
),
subtitleTextStyle: decodeTextStyle(
value['subtitleTextStyle'],
validate: false,
),
style: decodeListTileStyle(
value['style'],
validate: false,
),
textColor: decodeColor(
value['textColor'],
validate: false,
),
tileColor: decodeColor(
value['tileColor'],
validate: false,
),
titleAlignment: decodeListTileTitleAlignment(
value['titleAlignment'],
validate: false,
),
titleTextStyle: decodeTextStyle(
value['titleTextStyle'],
validate: false,
),
visualDensity: decodeVisualDensity(
value['visualDensity'],
validate: false,
),
);
}
return result;
}