---
title: "ColorScheme"
description: "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/overview).

- Floating action buttons
- Selection controls, like checkboxes and radio buttons
- Highlighting selected text
- Links and headlines"
type: "class"
---

<div class='type'>Class</div>


<a id='references'></a>

<div class='sourceset sourceset-android'>Android</div>


```kotlin
class ColorScheme(
    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,
    border: Color,
    borderVariant: Color,
    scrim: 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/overview).

- Floating action buttons
- Selection controls, like checkboxes and radio buttons
- Highlighting selected text
- Links and headlines


## Properties

<div class='sourceset sourceset-android'>Android</div>


```kotlin
var primary
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var onPrimary
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var primaryContainer
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var onPrimaryContainer
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var inversePrimary
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var secondary
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var onSecondary
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var secondaryContainer
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var onSecondaryContainer
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var tertiary
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var onTertiary
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var tertiaryContainer
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var onTertiaryContainer
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var background
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var onBackground
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var surface
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var onSurface
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var surfaceVariant
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var onSurfaceVariant
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var surfaceTint
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var inverseSurface
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var inverseOnSurface
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var error
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var onError
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var errorContainer
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var onErrorContainer
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var border
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var borderVariant
```


<div class='sourceset sourceset-android'>Android</div>


```kotlin
var scrim
```


## Functions

```kotlin
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,
        border: Color = this.border,
        borderVariant: Color = this.borderVariant,
        scrim: Color = this.scrim,
    ): ColorScheme
```


Returns a copy of this ColorScheme, optionally overriding some of the values.



