Spracherkennung für: .md vermutete Sprache: SQL {SQL[45] VDM[40] VHDL[40]} [Methode: maximale Elemente, drei Dimensionen]
# Lint
check for hardcoded colors
## What
is this lint
check for
This
check detects whether hardcoded colors have been added
in a CL.
Starting in Android O, multiple device themes will exist
on devices, enabling
changing the look
and feel of
all system UI.
In order to make that effort
possible, colors
in component that uses this
check must be specified
using
theme attributes, rather than hardcoded colors. Otherwise,
when the theme
changes, this UI will
not update properly.
## Examples of hardcoded colors
### Color files
```xml
<!
-- File: res/values/colors.xml -->
<?xml version=
"1.0" encoding=
"utf-8"?>
<resources>
<color name=
"hardcoded_color">#FFFFFF</color>
</resources>
```
### Layout files
```xml
<!
-- File: res/layout/my_layout.xml -->
<?xml version=
"1.0" encoding=
"utf-8"?>
<TextView
android:textColor=
"#FF000000" />
```
Or
```xml
<!
-- File: res/layout/my_layout.xml -->
<?xml version=
"1.0" encoding=
"utf-8"?>
<TextView
android:textColor=
"@color/hardcoded_color" />
```
### Style files
```xml
<!
-- File: res/values/styles.xml -->
<style name=
"MyStyle">
<item name=
"android:textColor">#ff3c3c3c</item>
</style>
```
## How
to fix it
###
Use attributes
in theming
as much
as possible
Here are some tips
to choose the colors.
#### Choose colors
for text
Use color attributes specified
in the theme. Some examples:
1. `textColorPrimary`
2. `textColorSecondary`
3. `colorAccent`
#### Choose colors
for icon
For `vector drawable`, please
use full opacity color
as `fillColor`
and `tint`
it
with theme attribute.
[example](
https://googleplex-android-review.git.corp.google.com/#/c/1606392/
2/pa
ckages/SettingsLib/res/drawable/ic_menu.xml)
#### Others
Please check the following table for more available options.
| Attribute | Description |
|---|---|
| colorAccent | Bright complement to the primary branding color. By default, this is the color applied to framework controls (via colorControlActivated). |
| colorForeground | Color for foreground imagery. Most text and image colors will be based on some alpha of colorForeground. |
| colorBackground | Color of background imagery, ex. full-screen windows. |
| colorBackgroundFloating | Color of background imagery for floating components, ex. dialogs, popups, and cards. |
| colorPrimary | The primary branding color for the app. This is the color applied to the action bar background. |
| colorPrimaryDark | Dark variant of the primary branding color. By default, this is the color applied to the status bar (via statusBarColor) and navigation bar (via navigationBarColor). |
| colorError | Color used for error states and things that need to be drawn to the users attention. |
| textColorPrimary (colorPrimaryText) | Is now constructed out of colorForeground and primaryContentAlpha. |
| textColorSecondary (colorSecondaryText) | Is now constructed out of colorForeground and primaryContentAlpha. |
## How to bypass it
**We strongly discourage bypassing color lint check**.
However, if you need to bypass the check, please update the `baseline.xml` by running following
command in package root folder(i.e. package/app/Settings/)
```
export ANDROID_LINT_JARS=$(gettop)/prebuilts/checkcolor/checkcolor.jar
lint --check HardCodedColor --xml color-check-baseline.xml .
```
After update the `baseline.xml`, your hardcoded color will be ignored in check. Please submit the
new `baseline.xml` within your cl.
## Contact us
1. For help to remove hardcoded colors or report issue in color check, please contact
jackqdyulei@google.com
[Dauer der Verarbeitung: 0.3 Sekunden, vorverarbeitet 2026-10-23]