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>,
  "collapsedBackgroundColor": <Color>,
  "collapsedIconColor": <Color>,
  "collapsedTextColor": <Color>,
  "expandedAlignment": <AlignmentGeometry>,
  "iconColor": <Color>,
  "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),
      collapsedBackgroundColor: decodeColor(
        value['collapsedBackgroundColor'],
        validate: false,
      ),
      collapsedIconColor: decodeColor(
        value['collapsedIconColor'],
        validate: false,
      ),
      collapsedTextColor: decodeColor(
        value['collapsedTextColor'],
        validate: false,
      ),
      expandedAlignment: decodeAlignment(
        value['expandedAlignment'],
        validate: false,
      ),
      iconColor: decodeColor(
        value['iconColor'],
        validate: false,
      ),
      textColor: decodeColor(
        value['textColor'],
        validate: false,
      ),
      tilePadding:
          decodeEdgeInsetsGeometry(value['tilePadding'], validate: false),
    );
  }

  return result;
}