decodeColorScheme static method
Decodes the given value
to an CardTheme. This expects the given
value
to follow the structure below:
{
"background": "<Color>",
"brightness": "<Brightness>",
"error": "<Color>",
"errorContainer": "<Color>",
"inversePrimary": "<Color>",
"inverseSurface": "<Color>",
"onBackground": "<Color>",
"onError": "<Color>",
"onErrorContainer": "<Color>",
"onInverseSurface": "<Color>",
"onPrimary": "<Color>",
"onPrimaryContainer": "<Color>",
"onSecondary": "<Color>",
"onSecondaryContainer": "<Color>",
"onSurface": "<Color>",
"onSurfaceVariant": "<Color>",
"onTertiary": "<Color>",
"onTertiaryContainer": "<Color>",
"outline": "<Color>",
"outlineVariant": "<Color>",
"primary": "<Color>",
"primaryContainer": "<Color>",
"scrim": "<Color>",
"secondary": "<Color>",
"secondaryContainer": "<Color>",
"shadow": "<Color>",
"surface": "<Color>",
"surfaceContainerHighest": "<Color>",
"tertiary": "<Color>",
"tertiaryContainer": "<Color>"
}
See also:
Implementation
static ColorScheme? decodeColorScheme(
dynamic value, {
bool validate = true,
}) {
ColorScheme? result;
if (value is ColorScheme) {
result = value;
} else if (value != null) {
assert(SchemaValidator.validate(
schemaId: '$_baseSchemaUrl/color_scheme',
value: value,
validate: validate,
));
result = ColorScheme(
brightness: decodeBrightness(
value['brightness'],
validate: false,
)!,
error: decodeColor(
value['error'],
validate: false,
)!,
errorContainer: decodeColor(
value['errorContainer'],
validate: false,
),
inversePrimary: decodeColor(
value['inversePrimary'],
validate: false,
),
inverseSurface: decodeColor(
value['inverseSurface'],
validate: false,
),
onError: decodeColor(
value['onError'],
validate: false,
)!,
onErrorContainer: decodeColor(
value['onErrorContainer'],
validate: false,
),
onInverseSurface: decodeColor(
value['onInverseSurface'],
validate: false,
),
onPrimary: decodeColor(
value['onPrimary'],
validate: false,
)!,
onPrimaryContainer: decodeColor(
value['onPrimaryContainer'],
validate: false,
),
onSecondary: decodeColor(
value['onSecondary'],
validate: false,
)!,
onSecondaryContainer: decodeColor(
value['onSecondaryContainer'],
validate: false,
),
onSurface: decodeColor(
value['onSurface'],
validate: false,
)!,
onSurfaceVariant: decodeColor(
value['onSurfaceVariant'],
validate: false,
),
onTertiary: decodeColor(
value['onTertiary'],
validate: false,
),
onTertiaryContainer: decodeColor(
value['onTertiaryContainer'],
validate: false,
),
outline: decodeColor(
value['outline'],
validate: false,
),
outlineVariant: decodeColor(
value['outlineVariant'],
validate: false,
),
primary: decodeColor(
value['primary'],
validate: false,
)!,
primaryContainer: decodeColor(
value['primaryContainer'] ?? value['primaryVariant'],
validate: false,
),
scrim: decodeColor(
value['scrim'],
validate: false,
),
secondary: decodeColor(
value['secondary'],
validate: false,
)!,
secondaryContainer: decodeColor(
value['secondaryContainer'] ?? value['secondaryVariant'],
validate: false,
),
shadow: decodeColor(
value['shadow'],
validate: false,
),
surface: decodeColor(
value['surface'],
validate: false,
)!,
surfaceTint: decodeColor(
value['surfaceTint'],
validate: false,
),
surfaceContainerHighest: decodeColor(
value['surfaceContainerHighest'] ?? value['surfaceVariant'],
validate: false,
),
tertiary: decodeColor(
value['tertiary'],
validate: false,
),
tertiaryContainer: decodeColor(
value['tertiaryContainer'],
validate: false,
),
);
}
return result;
}