decodeExpansionTileThemeData static method

ExpansionTileThemeData? decodeExpansionTileThemeData(
  1. dynamic value, {
  2. bool validate = true,
})

Decodes the given value to an ExpansionTileThemeData. This expects the given value to be of the following structure:

{
  "backgroundColor": "<Color>",
  "childrenPadding": "<EdgeInsetsGeometry>",
  "clipBehavior": "<Color>",
  "collapsedBackgroundColor": "<Color>",
  "collapsedIconColor": "<Color>",
  "collapsedShape": "<ShapeBorder>",
  "collapsedTextColor": "<Color>",
  "expandedAlignment": "<AlignmentGeometry>",
  "iconColor": "<Color>",
  "shape": "<ShapeBorder>",
  "textColor": "<Color>",
  "tilePadding": "<EdgeInsetsGeometry>"
}

See also:

Implementation

static ExpansionTileThemeData? decodeExpansionTileThemeData(
  dynamic value, {
  bool validate = true,
}) {
  ExpansionTileThemeData? result;

  if (value is ExpansionTileThemeData) {
    result = value;
  } else if (value != null) {
    assert(SchemaValidator.validate(
      schemaId: '$_baseSchemaUrl/expansion_tile_theme_data',
      value: value,
      validate: validate,
    ));

    result = ExpansionTileThemeData(
      backgroundColor: decodeColor(
        value['backgroundColor'],
        validate: false,
      ),
      childrenPadding: decodeEdgeInsetsGeometry(
        value['childrenPadding'],
        validate: false,
      ),
      clipBehavior: decodeClip(
        value['clipBehavior'],
        validate: false,
      ),
      collapsedBackgroundColor: decodeColor(
        value['collapsedBackgroundColor'],
        validate: false,
      ),
      collapsedIconColor: decodeColor(
        value['collapsedIconColor'],
        validate: false,
      ),
      collapsedShape: decodeShapeBorder(
        value['collapsedShape'],
        validate: false,
      ),
      collapsedTextColor: decodeColor(
        value['collapsedTextColor'],
        validate: false,
      ),
      expandedAlignment: decodeAlignment(
        value['expandedAlignment'],
        validate: false,
      ),
      iconColor: decodeColor(
        value['iconColor'],
        validate: false,
      ),
      shape: decodeShapeBorder(
        value['shapeBorder'],
        validate: false,
      ),
      textColor: decodeColor(
        value['textColor'],
        validate: false,
      ),
      tilePadding: decodeEdgeInsetsGeometry(
        value['tilePadding'],
        validate: false,
      ),
    );
  }

  return result;
}