decodeFloatingActionButtonThemeData static method
FloatingActionButtonThemeData?
decodeFloatingActionButtonThemeData(
- dynamic value, {
- bool validate = true,
Decodes the given value
to an FloatingActionButtonThemeData. This
expects the given value
to follow the structure below:
{
"backgroundColor": "<Color>",
"disabledElevation": "<double>",
"elevation": "<double>",
"extendedIconLabelSpacing": "<double>",
"extendedPadding": "<EdgeInsetsGeometry>",
"extendedSizeConstraints": "<BoxConstraints>",
"extendedTextStyle": "<TextStyle>"
"focusColor": "<Color>",
"focusElevation": "<double>",
"foregroundColor": "<Color>",
"highlightElevation": "<double>",
"hoverColor": "<Color>",
"hoverElevation": "<double>",
"iconSize": "<double>",
"largeSizeConstraints": "<BoxConstraints>",
"mouseCursor": "<WidgetStateProperty<MouseCursor>>",
"shape": "<ShapeBorder>",
"sizeConstraints": "<BoxConstraints>",
"smallSizeConstraints": "<BoxConstraints>",
"splashColor": "<Color>"
}
See also:
Implementation
static FloatingActionButtonThemeData? decodeFloatingActionButtonThemeData(
dynamic value, {
bool validate = true,
}) {
FloatingActionButtonThemeData? result;
if (value is FloatingActionButtonThemeData) {
result = value;
} else if (value != null) {
assert(SchemaValidator.validate(
schemaId: '$_baseSchemaUrl/floating_action_button_theme_data',
value: value,
validate: validate,
));
result = FloatingActionButtonThemeData(
backgroundColor: decodeColor(
value['backgroundColor'],
validate: false,
),
disabledElevation:
JsonClass.maybeParseDouble(value['disabledElevation']),
enableFeedback: JsonClass.maybeParseBool(value['enableFeedback']),
elevation: JsonClass.maybeParseDouble(value['elevation']),
extendedIconLabelSpacing: JsonClass.maybeParseDouble(
value['extendedIconLabelSpacing'],
),
extendedPadding: decodeEdgeInsetsGeometry(
value['extendedPadding'],
validate: false,
),
extendedSizeConstraints: decodeBoxConstraints(
value['extendedSizeConstraints'],
validate: false,
),
extendedTextStyle: decodeTextStyle(
value['extendedTextStyle'],
validate: false,
),
focusColor: decodeColor(
value['focusColor'],
validate: false,
),
focusElevation: JsonClass.maybeParseDouble(value['focusElevation']),
foregroundColor: decodeColor(
value['foregroundColor'],
validate: false,
),
highlightElevation:
JsonClass.maybeParseDouble(value['highlightElevation']),
hoverColor: decodeColor(
value['hoverColor'],
validate: false,
),
hoverElevation: JsonClass.maybeParseDouble(value['hoverElevation']),
iconSize: JsonClass.maybeParseDouble(value['iconSize']),
largeSizeConstraints: decodeBoxConstraints(
value['largeSizeConstraints'],
validate: false,
),
mouseCursor: decodeWidgetStatePropertyMouseCursor(
value['mouseCursor'],
validate: false,
),
shape: decodeShapeBorder(
value['shape'],
validate: false,
),
sizeConstraints: decodeBoxConstraints(
value['sizeConstraints'],
validate: false,
),
smallSizeConstraints: decodeBoxConstraints(
value['smallSizeConstraints'],
validate: false,
),
splashColor: decodeColor(
value['splashColor'],
validate: false,
),
);
}
return result;
}