decodePopupMenuThemeData static method
Decodes the given value
to a PopupMenuThemeData. This expects the
given value
to be of the following structure:
{
"color": <Color>,
"elevation": <double>,
"enableFeedback": <bool>,
"shape": <ShapeBorder>,
"textStyle": <TextStyle>
}
See also:
Implementation
static PopupMenuThemeData? decodePopupMenuThemeData(
dynamic value, {
bool validate = true,
}) {
PopupMenuThemeData? result;
if (value is PopupMenuThemeData) {
result = value;
} else if (value != null) {
assert(SchemaValidator.validate(
schemaId: '$_baseSchemaUrl/popup_menu_theme_data',
value: value,
validate: validate,
));
result = PopupMenuThemeData(
color: decodeColor(
value['color'],
validate: false,
),
elevation: JsonClass.parseDouble(value['elevation']),
enableFeedback: value['enableFeedback'] == null
? null
: JsonClass.parseBool(value['enableFeedback']),
shape: decodeShapeBorder(
value['shape'],
validate: false,
),
textStyle: decodeTextStyle(
value['textStyle'],
validate: false,
),
);
}
return result;
}