decodeFloatingActionButtonThemeData static method

FloatingActionButtonThemeData? decodeFloatingActionButtonThemeData(
  1. dynamic value, {
  2. 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;
}