CarColor

public class CarColor
extends Object

java.lang.Object
   ↳ com.google.android.libraries.car.app.model.CarColor


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 CarColor instances (for example, 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 CarColors 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 com.google.android.libraries.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="com.google.android.libraries.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 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

Fields

public static final CarColor BLUE

A standard blue color.

public static final CarColor DEFAULT

Indicates that a default color should be used.

public static final CarColor GREEN

A standard green color.

public static final 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.

public static final CarColor RED

A standard red color.

public static final 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.

public static final CarColor YELLOW

A standard yellow color.

Public methods

static CarColor createCustom(int color, int colorDark)

Returns an instance of CarColor containing a non-standard color.

boolean equals(Object other)
int hashCode()
String toString()

Inherited methods

Fields

BLUE

public static final CarColor BLUE

A standard blue color.

DEFAULT

public static final 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

public static final CarColor GREEN

A standard green color.

PRIMARY

public static final 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

public static final CarColor RED

A standard red color.

SECONDARY

public static final 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.

YELLOW

public static final CarColor YELLOW

A standard yellow color.

Public methods

createCustom

public static CarColor createCustom (int color, 
                int colorDark)

Returns an instance of CarColor containing a non-standard color.

See the top-level documentation of CarColor for details about how the host determines which variant is used.

Parameters
color int

colorDark int

Returns
CarColor

equals

public boolean equals (Object other)

Parameters
other Object

Returns
boolean

hashCode

public int hashCode ()

Returns
int

toString

public String toString ()

Returns
String