# CarColor

Artifact: [androidx.car.app:app](https://developer.android.com/jetpack/androidx/releases/car-app) [View Source](https://cs.android.com/search?q=file:androidx/car/app/model/CarColor.java+class:androidx.car.app.model.CarColor) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.0.0)

*** ** * ** ***


```
@CarProtocol
public final class CarColor
```

<br />

*** ** * ** ***

Represents a color to be used in a car app.

The host chooses the dark or light variant of the color when displaying the user interface, depending where the color is used, to ensure the proper contrast ratio is maintained. For example, the dark variant when may be used as the background of a view with brighter text on it, and the light variant for text on a dark background.

Colors provided by the app should meet the contrast requirements defined by the host, and documented by the app quality guidelines.

#### Standard colors

A set of standard `https://developer.android.com/reference/androidx/car/app/model/CarColor` instances (for example, `https://developer.android.com/reference/androidx/car/app/model/CarColor#BLUE()`) is available in this class. It is recommended to use these standard colors whenever possible as they are guaranteed to adhere to the contrast requirements.

#### Primary and secondary colors

The app can define two additional `https://developer.android.com/reference/androidx/car/app/model/CarColor`s in its manifest metadata, through the `
carColorPrimary`, `carColorPrimaryDark`, `
carColorSecondary`, and `carColorSecondaryDark` theme attributes, by declaring them in a theme and referencing the theme from the `
androidx.car.app.theme` metadata. Both the light and dark variants must be declared for the primary and secondary colors, otherwise default variants will be used. Wherever primary and secondary colors are used by the app, the host may use a default color instead if the colors do not pass the contrast requirements.

In `AndroidManifest.xml`, under the `application` element corresponding to the car app:

```
<meta-data
  android:name="androidx.car.app.theme"
  android:resource="@style/CarAppTheme"/>
```
The `CarAppTheme` style is defined as any other themes in a resource file:

```
<resources>
  <style name="CarAppTheme">
    <item name="carColorPrimary">@color/my_primary_car_color</item>
    <item name="carColorPrimaryDark">@color/my_primary_dark_car_color</item>
    <item name="carColorSecondary">@color/my_secondary_car_color</item>
    <item name="carColorSecondaryDark">@color/my_secondary_cark_car_color</item>
  </style>
</resources>
```

#### Custom Colors

Besides the primary and secondary colors, custom colors can be created at runtime with `https://developer.android.com/reference/androidx/car/app/model/CarColor#createCustom(int,int)`. Wherever custom colors are used by the app, the host may use a default color instead if the custom color does not pass the contrast requirements.

## Summary

| ### Constants |
|---|---|
| `static final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/car/app/model/CarColor` | `https://developer.android.com/reference/androidx/car/app/model/CarColor#BLUE()` A standard blue color. |
| `static final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/car/app/model/CarColor` | `https://developer.android.com/reference/androidx/car/app/model/CarColor#DEFAULT()` Indicates that a default color should be used. |
| `static final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/car/app/model/CarColor` | `https://developer.android.com/reference/androidx/car/app/model/CarColor#GREEN()` A standard green color. |
| `static final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/car/app/model/CarColor` | `https://developer.android.com/reference/androidx/car/app/model/CarColor#PRIMARY()` Indicates that the app primary color and its dark version should be used, as declared in the app manifest through the `carColorPrimary` and `carColorPrimaryDark` theme attributes. |
| `static final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/car/app/model/CarColor` | `https://developer.android.com/reference/androidx/car/app/model/CarColor#RED()` A standard red color. |
| `static final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/car/app/model/CarColor` | `https://developer.android.com/reference/androidx/car/app/model/CarColor#SECONDARY()` Indicates that the app secondary color and its dark version should be used, as declared in the app manifest through the `carColorSecondary` and ` carColorSecondaryDark` theme attributes. |
| `static final int` | `https://developer.android.com/reference/androidx/car/app/model/CarColor#TYPE_BLUE() = 6` The standard blue color. |
| `static final int` | `https://developer.android.com/reference/androidx/car/app/model/CarColor#TYPE_CUSTOM() = 0` A custom, non-standard, app-defined color. |
| `static final int` | `https://developer.android.com/reference/androidx/car/app/model/CarColor#TYPE_DEFAULT() = 1` A default color, chosen by the host. |
| `static final int` | `https://developer.android.com/reference/androidx/car/app/model/CarColor#TYPE_GREEN() = 5` The standard green color. |
| `static final int` | `https://developer.android.com/reference/androidx/car/app/model/CarColor#TYPE_PRIMARY() = 2` The primary app color. |
| `static final int` | `https://developer.android.com/reference/androidx/car/app/model/CarColor#TYPE_RED() = 4` The standard red color. |
| `static final int` | `https://developer.android.com/reference/androidx/car/app/model/CarColor#TYPE_SECONDARY() = 3` The secondary app color. |
| `static final int` | `https://developer.android.com/reference/androidx/car/app/model/CarColor#TYPE_YELLOW() = 7` The standard yellow color. |
| `static final @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/car/app/model/CarColor` | `https://developer.android.com/reference/androidx/car/app/model/CarColor#YELLOW()` A standard yellow color. |

| ### Public methods |
|---|---|
| `static @https://jspecify.dev/docs/api/org/jspecify/annotations/NonNull.html https://developer.android.com/reference/androidx/car/app/model/CarColor` | `https://developer.android.com/reference/androidx/car/app/model/CarColor#createCustom(int,int)(@https://developer.android.com/reference/androidx/annotation/ColorInt int color, @https://developer.android.com/reference/androidx/annotation/ColorInt int colorDark)` Returns an instance of `https://developer.android.com/reference/androidx/car/app/model/CarColor` containing a non-standard color. |
| `boolean` | `https://developer.android.com/reference/androidx/car/app/model/CarColor#equals(java.lang.Object)(@https://jspecify.dev/docs/api/org/jspecify/annotations/Nullable.html https://developer.android.com/reference/java/lang/Object.html other)` |
| `@https://developer.android.com/reference/androidx/annotation/ColorInt int` | `https://developer.android.com/reference/androidx/car/app/model/CarColor#getColor()()` Returns a packed color int for the light variant of the color, used when the type is `https://developer.android.com/reference/androidx/car/app/model/CarColor#TYPE_CUSTOM()`. |
| `@https://developer.android.com/reference/androidx/annotation/ColorInt int` | `https://developer.android.com/reference/androidx/car/app/model/CarColor#getColorDark()()` Returns a packed color int for the dark variant of the color, used when the type is `https://developer.android.com/reference/androidx/car/app/model/CarColor#TYPE_CUSTOM()`. |
| `int` | `https://developer.android.com/reference/androidx/car/app/model/CarColor#getType()()` Returns the type of color for this instance. |
| `int` | `https://developer.android.com/reference/androidx/car/app/model/CarColor#hashCode()()` |
| `https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/car/app/model/CarColor#toString()()` |

## Constants

### BLUE

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.0.0)

```
public static final @NonNull CarColor BLUE
```

A standard blue color.

### DEFAULT

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.0.0)

```
public static final @NonNull CarColor DEFAULT
```

Indicates that a default color should be used.

This can be used for example to tell the host that the app has no preference for the tint of an icon, and it should use whatever default it finds appropriate.

### GREEN

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.0.0)

```
public static final @NonNull CarColor GREEN
```

A standard green color.

### PRIMARY

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.0.0)

```
public static final @NonNull CarColor PRIMARY
```

Indicates that the app primary color and its dark version should be used, as declared in the app manifest through the `carColorPrimary` and `carColorPrimaryDark` theme attributes.

### RED

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.0.0)

```
public static final @NonNull CarColor RED
```

A standard red color.

### SECONDARY

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.0.0)

```
public static final @NonNull CarColor SECONDARY
```

Indicates that the app secondary color and its dark version should be used, as declared in the app manifest through the `carColorSecondary` and `
carColorSecondaryDark` theme attributes.

### TYPE_BLUE

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.0.0)

```
public static final int TYPE_BLUE = 6
```

The standard blue color.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/car/app/model/CarColor#BLUE()` |   |

### TYPE_CUSTOM

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.0.0)

```
public static final int TYPE_CUSTOM = 0
```

A custom, non-standard, app-defined color.

### TYPE_DEFAULT

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.0.0)

```
public static final int TYPE_DEFAULT = 1
```

A default color, chosen by the host.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/car/app/model/CarColor#DEFAULT()` |   |

### TYPE_GREEN

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.0.0)

```
public static final int TYPE_GREEN = 5
```

The standard green color.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/car/app/model/CarColor#GREEN()` |   |

### TYPE_PRIMARY

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.0.0)

```
public static final int TYPE_PRIMARY = 2
```

The primary app color.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/car/app/model/CarColor#PRIMARY()` |   |

### TYPE_RED

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.0.0)

```
public static final int TYPE_RED = 4
```

The standard red color.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/car/app/model/CarColor#RED()` |   |

### TYPE_SECONDARY

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.0.0)

```
public static final int TYPE_SECONDARY = 3
```

The secondary app color.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/car/app/model/CarColor#SECONDARY()` |   |

### TYPE_YELLOW

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.0.0)

```
public static final int TYPE_YELLOW = 7
```

The standard yellow color.

| See also |
|---|---|
| `https://developer.android.com/reference/androidx/car/app/model/CarColor#YELLOW()` |   |

### YELLOW

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.0.0)

```
public static final @NonNull CarColor YELLOW
```

A standard yellow color.

## Public methods

### createCustom

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.0.0)

```
public static @NonNull CarColor createCustom(@ColorInt int color, @ColorInt int colorDark)
```

Returns an instance of `https://developer.android.com/reference/androidx/car/app/model/CarColor` containing a non-standard color.

See the top-level documentation of `https://developer.android.com/reference/androidx/car/app/model/CarColor` for details about how the host determines which variant is used.

### equals

```
public boolean equals(@Nullable Object other)
```

### getColor

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.0.0)

```
public @ColorInt int getColor()
```

Returns a packed color int for the light variant of the color, used when the type is `https://developer.android.com/reference/androidx/car/app/model/CarColor#TYPE_CUSTOM()`.

### getColorDark

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.0.0)

```
public @ColorInt int getColorDark()
```

Returns a packed color int for the dark variant of the color, used when the type is `https://developer.android.com/reference/androidx/car/app/model/CarColor#TYPE_CUSTOM()`.

### getType

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/car-app#1.0.0)

```
public int getType()
```

Returns the type of color for this instance.

### hashCode

```
public int hashCode()
```

### toString

```
public String toString()
```