ColorScheme
Class
Common
class ColorScheme(
val primary: Color,
val onPrimary: Color,
val primaryContainer: Color,
val onPrimaryContainer: Color,
val inversePrimary: Color,
val secondary: Color,
val onSecondary: Color,
val secondaryContainer: Color,
val onSecondaryContainer: Color,
val tertiary: Color,
val onTertiary: Color,
val tertiaryContainer: Color,
val onTertiaryContainer: Color,
val background: Color,
val onBackground: Color,
val surface: Color,
val onSurface: Color,
val surfaceVariant: Color,
val onSurfaceVariant: Color,
val surfaceTint: Color,
val inverseSurface: Color,
val inverseOnSurface: Color,
val error: Color,
val onError: Color,
val errorContainer: Color,
val onErrorContainer: Color,
val outline: Color,
val outlineVariant: Color,
val scrim: Color,
val surfaceBright: Color,
val surfaceDim: Color,
val surfaceContainer: Color,
val surfaceContainerHigh: Color,
val surfaceContainerHighest: Color,
val surfaceContainerLow: Color,
val surfaceContainerLowest: Color,
val primaryFixed: Color,
val primaryFixedDim: Color,
val onPrimaryFixed: Color,
val onPrimaryFixedVariant: Color,
val secondaryFixed: Color,
val secondaryFixedDim: Color,
val onSecondaryFixed: Color,
val onSecondaryFixedVariant: Color,
val tertiaryFixed: Color,
val tertiaryFixedDim: Color,
val onTertiaryFixed: Color,
val onTertiaryFixedVariant: Color,
)
A color scheme holds all the named color parameters for a MaterialTheme
.
Color schemes are designed to be harmonious, ensure accessible text, and distinguish UI elements
and surfaces from one another. There are two built-in baseline schemes, lightColorScheme
and a
darkColorScheme
, that can be used as-is or customized.
The Material color system and custom schemes provide default values for color as a starting point for customization.
To learn more about colors, see
Material Design colors
(https://m3.material.io/styles/color/system/overview).
- Floating action buttons
- Selection controls, like checkboxes and radio buttons
- Highlighting selected text
- Links and headlines
Secondary Constructors
constructor(
primary: Color,
onPrimary: Color,
primaryContainer: Color,
onPrimaryContainer: Color,
inversePrimary: Color,
secondary: Color,
onSecondary: Color,
secondaryContainer: Color,
onSecondaryContainer: Color,
tertiary: Color,
onTertiary: Color,
tertiaryContainer: Color,
onTertiaryContainer: Color,
background: Color,
onBackground: Color,
surface: Color,
onSurface: Color,
surfaceVariant: Color,
onSurfaceVariant: Color,
surfaceTint: Color,
inverseSurface: Color,
inverseOnSurface: Color,
error: Color,
onError: Color,
errorContainer: Color,
onErrorContainer: Color,
outline: Color,
outlineVariant: Color,
scrim: Color,
surfaceBright: Color,
surfaceDim: Color,
surfaceContainer: Color,
surfaceContainerHigh: Color,
surfaceContainerHighest: Color,
surfaceContainerLow: Color,
surfaceContainerLowest: Color,
) : this(
primary = primary,
onPrimary = onPrimary,
primaryContainer = primaryContainer,
onPrimaryContainer = onPrimaryContainer,
inversePrimary = inversePrimary,
secondary = secondary,
onSecondary = onSecondary,
secondaryContainer = secondaryContainer,
onSecondaryContainer = onSecondaryContainer,
tertiary = tertiary,
onTertiary = onTertiary,
tertiaryContainer = tertiaryContainer,
onTertiaryContainer = onTertiaryContainer,
background = background,
onBackground = onBackground,
surface = surface,
onSurface = onSurface,
surfaceVariant = surfaceVariant,
onSurfaceVariant = onSurfaceVariant,
surfaceTint = surfaceTint,
inverseSurface = inverseSurface,
inverseOnSurface = inverseOnSurface,
error = error,
onError = onError,
errorContainer = errorContainer,
onErrorContainer = onErrorContainer,
outline = outline,
outlineVariant = outlineVariant,
scrim = scrim,
surfaceBright = surfaceBright,
surfaceDim = surfaceDim,
surfaceContainer = surfaceContainer,
surfaceContainerHigh = surfaceContainerHigh,
surfaceContainerHighest = surfaceContainerHighest,
surfaceContainerLow = surfaceContainerLow,
surfaceContainerLowest = surfaceContainerLowest,
primaryFixed = Color.Unspecified,
primaryFixedDim = Color.Unspecified,
onPrimaryFixed = Color.Unspecified,
onPrimaryFixedVariant = Color.Unspecified,
secondaryFixed = Color.Unspecified,
secondaryFixedDim = Color.Unspecified,
onSecondaryFixed = Color.Unspecified,
onSecondaryFixedVariant = Color.Unspecified,
tertiaryFixed = Color.Unspecified,
tertiaryFixedDim = Color.Unspecified,
onTertiaryFixed = Color.Unspecified,
onTertiaryFixedVariant = Color.Unspecified,
)
constructor(
primary: Color,
onPrimary: Color,
primaryContainer: Color,
onPrimaryContainer: Color,
inversePrimary: Color,
secondary: Color,
onSecondary: Color,
secondaryContainer: Color,
onSecondaryContainer: Color,
tertiary: Color,
onTertiary: Color,
tertiaryContainer: Color,
onTertiaryContainer: Color,
background: Color,
onBackground: Color,
surface: Color,
onSurface: Color,
surfaceVariant: Color,
onSurfaceVariant: Color,
surfaceTint: Color,
inverseSurface: Color,
inverseOnSurface: Color,
error: Color,
onError: Color,
errorContainer: Color,
onErrorContainer: Color,
outline: Color,
outlineVariant: Color,
scrim: Color,
) : this(
primary = primary,
onPrimary = onPrimary,
primaryContainer = primaryContainer,
onPrimaryContainer = onPrimaryContainer,
inversePrimary = inversePrimary,
secondary = secondary,
onSecondary = onSecondary,
secondaryContainer = secondaryContainer,
onSecondaryContainer = onSecondaryContainer,
tertiary = tertiary,
onTertiary = onTertiary,
tertiaryContainer = tertiaryContainer,
onTertiaryContainer = onTertiaryContainer,
background = background,
onBackground = onBackground,
surface = surface,
onSurface = onSurface,
surfaceVariant = surfaceVariant,
onSurfaceVariant = onSurfaceVariant,
surfaceTint = surfaceTint,
inverseSurface = inverseSurface,
inverseOnSurface = inverseOnSurface,
error = error,
onError = onError,
errorContainer = errorContainer,
onErrorContainer = onErrorContainer,
outline = outline,
outlineVariant = outlineVariant,
scrim = scrim,
surfaceBright = Color.Unspecified,
surfaceDim = Color.Unspecified,
surfaceContainer = Color.Unspecified,
surfaceContainerHigh = Color.Unspecified,
surfaceContainerHighest = Color.Unspecified,
surfaceContainerLow = Color.Unspecified,
surfaceContainerLowest = Color.Unspecified,
primaryFixed = Color.Unspecified,
primaryFixedDim = Color.Unspecified,
onPrimaryFixed = Color.Unspecified,
onPrimaryFixedVariant = Color.Unspecified,
secondaryFixed = Color.Unspecified,
secondaryFixedDim = Color.Unspecified,
onSecondaryFixed = Color.Unspecified,
onSecondaryFixedVariant = Color.Unspecified,
tertiaryFixed = Color.Unspecified,
tertiaryFixedDim = Color.Unspecified,
onTertiaryFixed = Color.Unspecified,
onTertiaryFixedVariant = Color.Unspecified,
)
Functions
fun copy(
primary: Color = this.primary,
onPrimary: Color = this.onPrimary,
primaryContainer: Color = this.primaryContainer,
onPrimaryContainer: Color = this.onPrimaryContainer,
inversePrimary: Color = this.inversePrimary,
secondary: Color = this.secondary,
onSecondary: Color = this.onSecondary,
secondaryContainer: Color = this.secondaryContainer,
onSecondaryContainer: Color = this.onSecondaryContainer,
tertiary: Color = this.tertiary,
onTertiary: Color = this.onTertiary,
tertiaryContainer: Color = this.tertiaryContainer,
onTertiaryContainer: Color = this.onTertiaryContainer,
background: Color = this.background,
onBackground: Color = this.onBackground,
surface: Color = this.surface,
onSurface: Color = this.onSurface,
surfaceVariant: Color = this.surfaceVariant,
onSurfaceVariant: Color = this.onSurfaceVariant,
surfaceTint: Color = this.surfaceTint,
inverseSurface: Color = this.inverseSurface,
inverseOnSurface: Color = this.inverseOnSurface,
error: Color = this.error,
onError: Color = this.onError,
errorContainer: Color = this.errorContainer,
onErrorContainer: Color = this.onErrorContainer,
outline: Color = this.outline,
outlineVariant: Color = this.outlineVariant,
scrim: Color = this.scrim,
surfaceBright: Color = this.surfaceBright,
surfaceDim: Color = this.surfaceDim,
surfaceContainer: Color = this.surfaceContainer,
surfaceContainerHigh: Color = this.surfaceContainerHigh,
surfaceContainerHighest: Color = this.surfaceContainerHighest,
surfaceContainerLow: Color = this.surfaceContainerLow,
surfaceContainerLowest: Color = this.surfaceContainerLowest,
primaryFixed: Color = this.primaryFixed,
primaryFixedDim: Color = this.primaryFixedDim,
onPrimaryFixed: Color = this.onPrimaryFixed,
onPrimaryFixedVariant: Color = this.onPrimaryFixedVariant,
secondaryFixed: Color = this.secondaryFixed,
secondaryFixedDim: Color = this.secondaryFixedDim,
onSecondaryFixed: Color = this.onSecondaryFixed,
onSecondaryFixedVariant: Color = this.onSecondaryFixedVariant,
tertiaryFixed: Color = this.tertiaryFixed,
tertiaryFixedDim: Color = this.tertiaryFixedDim,
onTertiaryFixed: Color = this.onTertiaryFixed,
onTertiaryFixedVariant: Color = this.onTertiaryFixedVariant,
): ColorScheme
Returns a copy of this ColorScheme, optionally overriding some of the values.
fun copy(
primary: Color = this.primary,
onPrimary: Color = this.onPrimary,
primaryContainer: Color = this.primaryContainer,
onPrimaryContainer: Color = this.onPrimaryContainer,
inversePrimary: Color = this.inversePrimary,
secondary: Color = this.secondary,
onSecondary: Color = this.onSecondary,
secondaryContainer: Color = this.secondaryContainer,
onSecondaryContainer: Color = this.onSecondaryContainer,
tertiary: Color = this.tertiary,
onTertiary: Color = this.onTertiary,
tertiaryContainer: Color = this.tertiaryContainer,
onTertiaryContainer: Color = this.onTertiaryContainer,
background: Color = this.background,
onBackground: Color = this.onBackground,
surface: Color = this.surface,
onSurface: Color = this.onSurface,
surfaceVariant: Color = this.surfaceVariant,
onSurfaceVariant: Color = this.onSurfaceVariant,
surfaceTint: Color = this.surfaceTint,
inverseSurface: Color = this.inverseSurface,
inverseOnSurface: Color = this.inverseOnSurface,
error: Color = this.error,
onError: Color = this.onError,
errorContainer: Color = this.errorContainer,
onErrorContainer: Color = this.onErrorContainer,
outline: Color = this.outline,
outlineVariant: Color = this.outlineVariant,
scrim: Color = this.scrim,
): ColorScheme
fun copy(
primary: Color = this.primary,
onPrimary: Color = this.onPrimary,
primaryContainer: Color = this.primaryContainer,
onPrimaryContainer: Color = this.onPrimaryContainer,
inversePrimary: Color = this.inversePrimary,
secondary: Color = this.secondary,
onSecondary: Color = this.onSecondary,
secondaryContainer: Color = this.secondaryContainer,
onSecondaryContainer: Color = this.onSecondaryContainer,
tertiary: Color = this.tertiary,
onTertiary: Color = this.onTertiary,
tertiaryContainer: Color = this.tertiaryContainer,
onTertiaryContainer: Color = this.onTertiaryContainer,
background: Color = this.background,
onBackground: Color = this.onBackground,
surface: Color = this.surface,
onSurface: Color = this.onSurface,
surfaceVariant: Color = this.surfaceVariant,
onSurfaceVariant: Color = this.onSurfaceVariant,
surfaceTint: Color = this.surfaceTint,
inverseSurface: Color = this.inverseSurface,
inverseOnSurface: Color = this.inverseOnSurface,
error: Color = this.error,
onError: Color = this.onError,
errorContainer: Color = this.errorContainer,
onErrorContainer: Color = this.onErrorContainer,
outline: Color = this.outline,
outlineVariant: Color = this.outlineVariant,
scrim: Color = this.scrim,
surfaceBright: Color = this.surfaceBright,
surfaceDim: Color = this.surfaceDim,
surfaceContainer: Color = this.surfaceContainer,
surfaceContainerHigh: Color = this.surfaceContainerHigh,
surfaceContainerHighest: Color = this.surfaceContainerHighest,
surfaceContainerLow: Color = this.surfaceContainerLow,
surfaceContainerLowest: Color = this.surfaceContainerLowest,
): ColorScheme