Skip to content

Commit 4f3dc3e

Browse files
pekingmedsn5ft
authored andcommitted
[Color] Added new theme attributes for fixed accent colors.
PiperOrigin-RevId: 506910629
1 parent 1a25706 commit 4f3dc3e

File tree

8 files changed

+172
-16
lines changed

8 files changed

+172
-16
lines changed

docs/theming/Color.md

Lines changed: 27 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -31,21 +31,33 @@ brand color:
3131

3232
<!-- Auto-generated accent color table starts. Do not edit below or remove this comment. -->
3333

34-
Color Role | Android Attribute | Light Theme Baseline (Dynamic) Color | Dark Theme Baseline (Dynamic) Color
35-
---------------------- | ------------------------- | ------------------------------------ | -----------------------------------
36-
Primary | colorPrimary | primary40</br>(system_accent1_600) | primary80</br>(system_accent1_200)
37-
On Primary | colorOnPrimary | white</br>(system_accent1_0) | primary20</br>(system_accent1_800)
38-
Primary Container | colorPrimaryContainer | primary90</br>(system_accent1_100) | primary30</br>(system_accent1_700)
39-
On Primary Container | colorOnPrimaryContainer | primary10</br>(system_accent1_900) | primary90</br>(system_accent1_100)
40-
Inverse Primary | colorPrimaryInverse | primary80</br>(system_accent1_200) | primary40</br>(system_accent1_600)
41-
Secondary | colorSecondary | secondary40</br>(system_accent2_600) | secondary80</br>(system_accent2_200)
42-
On Secondary | colorOnSecondary | white</br>(system_accent2_0) | secondary20</br>(system_accent2_800)
43-
Secondary Container | colorSecondaryContainer | secondary90</br>(system_accent2_100) | secondary30</br>(system_accent2_700)
44-
On Secondary Container | colorOnSecondaryContainer | secondary10</br>(system_accent2_900) | secondary90</br>(system_accent2_100)
45-
Tertiary | colorTertiary | tertiary40</br>(system_accent3_600) | tertiary80</br>(system_accent3_200)
46-
On Tertiary | colorOnTertiary | white</br>(system_accent3_0) | tertiary20</br>(system_accent3_800)
47-
Tertiary Container | colorTertiaryContainer | tertiary90</br>(system_accent3_100) | tertiary30</br>(system_accent3_700)
48-
On Tertiary Container | colorOnTertiaryContainer | tertiary10</br>(system_accent3_900) | tertiary90</br>(system_accent3_100)
34+
Color Role | Android Attribute | Light Theme Baseline (Dynamic) Color | Dark Theme Baseline (Dynamic) Color
35+
-------------------------- | ---------------------------- | ------------------------------------ | -----------------------------------
36+
Primary | colorPrimary | primary40</br>(system_accent1_600) | primary80</br>(system_accent1_200)
37+
On Primary | colorOnPrimary | white</br>(system_accent1_0) | primary20</br>(system_accent1_800)
38+
Primary Container | colorPrimaryContainer | primary90</br>(system_accent1_100) | primary30</br>(system_accent1_700)
39+
On Primary Container | colorOnPrimaryContainer | primary10</br>(system_accent1_900) | primary90</br>(system_accent1_100)
40+
Inverse Primary | colorPrimaryInverse | primary80</br>(system_accent1_200) | primary40</br>(system_accent1_600)
41+
Primary Fixed | colorPrimaryFixed | primary90</br>(system_accent1_100) | primary90</br>(system_accent1_100)
42+
Primary Fixed Dim | colorPrimaryFixedDim | primary80</br>(system_accent1_200) | primary80</br>(system_accent1_200)
43+
On Primary Fixed | colorOnPrimaryFixed | primary10</br>(system_accent1_900) | primary10</br>(system_accent1_900)
44+
On Primary Fixed Variant | colorOnPrimaryFixedVariant | primary30</br>(system_accent1_700) | primary30</br>(system_accent1_700)
45+
Secondary | colorSecondary | secondary40</br>(system_accent2_600) | secondary80</br>(system_accent2_200)
46+
On Secondary | colorOnSecondary | white</br>(system_accent2_0) | secondary20</br>(system_accent2_800)
47+
Secondary Container | colorSecondaryContainer | secondary90</br>(system_accent2_100) | secondary30</br>(system_accent2_700)
48+
On Secondary Container | colorOnSecondaryContainer | secondary10</br>(system_accent2_900) | secondary90</br>(system_accent2_100)
49+
Secondary Fixed | colorSecondaryFixed | secondary90</br>(system_accent2_100) | secondary90</br>(system_accent2_100)
50+
Secondary Fixed Dim | colorSecondaryFixedDim | secondary80</br>(system_accent2_200) | secondary80</br>(system_accent2_200)
51+
On Secondary Fixed | colorOnSecondaryFixed | secondary10</br>(system_accent2_900) | secondary10</br>(system_accent2_900)
52+
On Secondary Fixed Variant | colorOnSecondaryFixedVariant | secondary30</br>(system_accent2_700) | secondary30</br>(system_accent2_700)
53+
Tertiary | colorTertiary | tertiary40</br>(system_accent3_600) | tertiary80</br>(system_accent3_200)
54+
On Tertiary | colorOnTertiary | white</br>(system_accent3_0) | tertiary20</br>(system_accent3_800)
55+
Tertiary Container | colorTertiaryContainer | tertiary90</br>(system_accent3_100) | tertiary30</br>(system_accent3_700)
56+
On Tertiary Container | colorOnTertiaryContainer | tertiary10</br>(system_accent3_900) | tertiary90</br>(system_accent3_100)
57+
Tertiary Fixed | colorTertiaryFixed | tertiary90</br>(system_accent3_100) | tertiary90</br>(system_accent3_100)
58+
Tertiary Fixed Dim | colorTertiaryFixedDim | tertiary80</br>(system_accent3_200) | tertiary80</br>(system_accent3_200)
59+
On Tertiary Fixed | colorOnTertiaryFixed | tertiary10</br>(system_accent3_900) | tertiary10</br>(system_accent3_900)
60+
On Tertiary Fixed Variant | colorOnTertiaryFixedVariant | tertiary30</br>(system_accent3_700) | tertiary30</br>(system_accent3_700)
4961

5062
<!-- Auto-generated accent color table ends. Do not edit below or remove this comment. -->
5163

lib/java/com/google/android/material/color/res-public/values/public.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,16 +19,28 @@
1919
<public name="colorPrimaryInverse" type="attr"/>
2020
<public name="colorPrimaryContainer" type="attr"/>
2121
<public name="colorOnPrimaryContainer" type="attr"/>
22+
<public name="colorPrimaryFixed" type="attr"/>
23+
<public name="colorPrimaryFixedDim" type="attr"/>
24+
<public name="colorOnPrimaryFixed" type="attr"/>
25+
<public name="colorOnPrimaryFixedVariant" type="attr"/>
2226

2327
<public name="colorSecondary" type="attr"/>
2428
<public name="colorOnSecondary" type="attr"/>
2529
<public name="colorSecondaryContainer" type="attr"/>
2630
<public name="colorOnSecondaryContainer" type="attr"/>
31+
<public name="colorSecondaryFixed" type="attr"/>
32+
<public name="colorSecondaryFixedDim" type="attr"/>
33+
<public name="colorOnSecondaryFixed" type="attr"/>
34+
<public name="colorOnSecondaryFixedVariant" type="attr"/>
2735

2836
<public name="colorTertiary" type="attr"/>
2937
<public name="colorOnTertiary" type="attr"/>
3038
<public name="colorTertiaryContainer" type="attr"/>
3139
<public name="colorOnTertiaryContainer" type="attr"/>
40+
<public name="colorTertiaryFixed" type="attr"/>
41+
<public name="colorTertiaryFixedDim" type="attr"/>
42+
<public name="colorOnTertiaryFixed" type="attr"/>
43+
<public name="colorOnTertiaryFixedVariant" type="attr"/>
3244

3345
<public name="colorOnBackground" type="attr"/>
3446

lib/java/com/google/android/material/color/res/values/attrs.xml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,14 @@
2626
<!-- A color that passes accessibility guidelines for text/iconography when drawn on top of
2727
the primary container color. -->
2828
<attr name="colorOnPrimaryContainer" format="color"/>
29+
<!-- A primary branding color for the app, which stays the same between light and dark themes. -->
30+
<attr name="colorPrimaryFixed" format="color"/>
31+
<!-- A stronger, more emphasized variant of the fixed primary branding color. -->
32+
<attr name="colorPrimaryFixedDim" format="color"/>
33+
<!-- The color text/iconography when drawn on top of the fixed primary branding color. -->
34+
<attr name="colorOnPrimaryFixed" format="color"/>
35+
<!-- A lower-emphasized variant of the color on the fixed primary branding color. -->
36+
<attr name="colorOnPrimaryFixedVariant" format="color"/>
2937

3038
<!-- The secondary branding color for the app, usually a bright complement to the primary
3139
branding color. -->
@@ -38,6 +46,14 @@
3846
<!-- A color that passes accessibility guidelines for text/iconography when drawn on top of
3947
the secondary container color. -->
4048
<attr name="colorOnSecondaryContainer" format="color"/>
49+
<!-- A secondary branding color for the app, which stays the same between light and dark themes. -->
50+
<attr name="colorSecondaryFixed" format="color"/>
51+
<!-- A stronger, more emphasized variant of the fixed secondary branding color. -->
52+
<attr name="colorSecondaryFixedDim" format="color"/>
53+
<!-- The color text/iconography when drawn on top of the fixed secondary branding color. -->
54+
<attr name="colorOnSecondaryFixed" format="color"/>
55+
<!-- A lower-emphasized variant of the color on the fixed secondary branding color. -->
56+
<attr name="colorOnSecondaryFixedVariant" format="color"/>
4157

4258
<!-- The tertiary branding color for the app, usually a bright complement to the primary
4359
branding color. -->
@@ -50,6 +66,14 @@
5066
<!-- A color that passes accessibility guidelines for text/iconography when drawn on top of
5167
the tertiary container color. -->
5268
<attr name="colorOnTertiaryContainer" format="color"/>
69+
<!-- A tertiary branding color for the app, which stays the same between light and dark themes. -->
70+
<attr name="colorTertiaryFixed" format="color"/>
71+
<!-- A stronger, more emphasized variant of the fixed tertiary branding color. -->
72+
<attr name="colorTertiaryFixedDim" format="color"/>
73+
<!-- The color text/iconography when drawn on top of the fixed tertiary branding color. -->
74+
<attr name="colorOnTertiaryFixed" format="color"/>
75+
<!-- A lower-emphasized variant of the color on the fixed tertiary branding color. -->
76+
<attr name="colorOnTertiaryFixedVariant" format="color"/>
5377

5478
<!-- A color that passes accessibility guidelines for text/iconography when drawn on top of
5579
background. -->

lib/java/com/google/android/material/dialog/res/values/themes_base.xml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,14 +28,26 @@
2828
<item name="colorPrimaryInverse">@color/m3_sys_color_light_inverse_primary</item>
2929
<item name="colorPrimaryContainer">@color/m3_sys_color_light_primary_container</item>
3030
<item name="colorOnPrimaryContainer">@color/m3_sys_color_light_on_primary_container</item>
31+
<item name="colorPrimaryFixed">@color/m3_sys_color_primary_fixed</item>
32+
<item name="colorPrimaryFixedDim">@color/m3_sys_color_primary_fixed_dim</item>
33+
<item name="colorOnPrimaryFixed">@color/m3_sys_color_on_primary_fixed</item>
34+
<item name="colorOnPrimaryFixedVariant">@color/m3_sys_color_on_primary_fixed_variant</item>
3135
<item name="colorSecondary">@color/m3_sys_color_light_secondary</item>
3236
<item name="colorOnSecondary">@color/m3_sys_color_light_on_secondary</item>
3337
<item name="colorSecondaryContainer">@color/m3_sys_color_light_secondary_container</item>
3438
<item name="colorOnSecondaryContainer">@color/m3_sys_color_light_on_secondary_container</item>
39+
<item name="colorSecondaryFixed">@color/m3_sys_color_secondary_fixed</item>
40+
<item name="colorSecondaryFixedDim">@color/m3_sys_color_secondary_fixed_dim</item>
41+
<item name="colorOnSecondaryFixed">@color/m3_sys_color_on_secondary_fixed</item>
42+
<item name="colorOnSecondaryFixedVariant">@color/m3_sys_color_on_secondary_fixed_variant</item>
3543
<item name="colorTertiary">@color/m3_sys_color_light_tertiary</item>
3644
<item name="colorOnTertiary">@color/m3_sys_color_light_on_tertiary</item>
3745
<item name="colorTertiaryContainer">@color/m3_sys_color_light_tertiary_container</item>
3846
<item name="colorOnTertiaryContainer">@color/m3_sys_color_light_on_tertiary_container</item>
47+
<item name="colorTertiaryFixed">@color/m3_sys_color_tertiary_fixed</item>
48+
<item name="colorTertiaryFixedDim">@color/m3_sys_color_tertiary_fixed_dim</item>
49+
<item name="colorOnTertiaryFixed">@color/m3_sys_color_on_tertiary_fixed</item>
50+
<item name="colorOnTertiaryFixedVariant">@color/m3_sys_color_on_tertiary_fixed_variant</item>
3951
<item name="android:colorBackground">@color/m3_sys_color_light_background</item>
4052
<item name="colorOnBackground">@color/m3_sys_color_light_on_background</item>
4153
<item name="colorSurface">@color/m3_sys_color_light_surface</item>
@@ -274,14 +286,26 @@
274286
<item name="colorPrimaryInverse">@color/m3_sys_color_dark_inverse_primary</item>
275287
<item name="colorPrimaryContainer">@color/m3_sys_color_dark_primary_container</item>
276288
<item name="colorOnPrimaryContainer">@color/m3_sys_color_dark_on_primary_container</item>
289+
<item name="colorPrimaryFixed">@color/m3_sys_color_primary_fixed</item>
290+
<item name="colorPrimaryFixedDim">@color/m3_sys_color_primary_fixed_dim</item>
291+
<item name="colorOnPrimaryFixed">@color/m3_sys_color_on_primary_fixed</item>
292+
<item name="colorOnPrimaryFixedVariant">@color/m3_sys_color_on_primary_fixed_variant</item>
277293
<item name="colorSecondary">@color/m3_sys_color_dark_secondary</item>
278294
<item name="colorOnSecondary">@color/m3_sys_color_dark_on_secondary</item>
279295
<item name="colorSecondaryContainer">@color/m3_sys_color_dark_secondary_container</item>
280296
<item name="colorOnSecondaryContainer">@color/m3_sys_color_dark_on_secondary_container</item>
297+
<item name="colorSecondaryFixed">@color/m3_sys_color_secondary_fixed</item>
298+
<item name="colorSecondaryFixedDim">@color/m3_sys_color_secondary_fixed_dim</item>
299+
<item name="colorOnSecondaryFixed">@color/m3_sys_color_on_secondary_fixed</item>
300+
<item name="colorOnSecondaryFixedVariant">@color/m3_sys_color_on_secondary_fixed_variant</item>
281301
<item name="colorTertiary">@color/m3_sys_color_dark_tertiary</item>
282302
<item name="colorOnTertiary">@color/m3_sys_color_dark_on_tertiary</item>
283303
<item name="colorTertiaryContainer">@color/m3_sys_color_dark_tertiary_container</item>
284304
<item name="colorOnTertiaryContainer">@color/m3_sys_color_dark_on_tertiary_container</item>
305+
<item name="colorTertiaryFixed">@color/m3_sys_color_tertiary_fixed</item>
306+
<item name="colorTertiaryFixedDim">@color/m3_sys_color_tertiary_fixed_dim</item>
307+
<item name="colorOnTertiaryFixed">@color/m3_sys_color_on_tertiary_fixed</item>
308+
<item name="colorOnTertiaryFixedVariant">@color/m3_sys_color_on_tertiary_fixed_variant</item>
285309
<item name="android:colorBackground">@color/m3_sys_color_dark_background</item>
286310
<item name="colorOnBackground">@color/m3_sys_color_dark_on_background</item>
287311
<item name="colorSurface">@color/m3_sys_color_dark_surface</item>

lib/java/com/google/android/material/theme/res/values-v31/themes.xml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,26 @@
2424
<item name="colorPrimaryInverse">@color/m3_sys_color_dynamic_light_inverse_primary</item>
2525
<item name="colorPrimaryContainer">@color/m3_sys_color_dynamic_light_primary_container</item>
2626
<item name="colorOnPrimaryContainer">@color/m3_sys_color_dynamic_light_on_primary_container</item>
27+
<item name="colorPrimaryFixed">@color/m3_sys_color_dynamic_primary_fixed</item>
28+
<item name="colorPrimaryFixedDim">@color/m3_sys_color_dynamic_primary_fixed_dim</item>
29+
<item name="colorOnPrimaryFixed">@color/m3_sys_color_dynamic_on_primary_fixed</item>
30+
<item name="colorOnPrimaryFixedVariant">@color/m3_sys_color_dynamic_on_primary_fixed_variant</item>
2731
<item name="colorSecondary">@color/m3_sys_color_dynamic_light_secondary</item>
2832
<item name="colorOnSecondary">@color/m3_sys_color_dynamic_light_on_secondary</item>
2933
<item name="colorSecondaryContainer">@color/m3_sys_color_dynamic_light_secondary_container</item>
3034
<item name="colorOnSecondaryContainer">@color/m3_sys_color_dynamic_light_on_secondary_container</item>
35+
<item name="colorSecondaryFixed">@color/m3_sys_color_dynamic_secondary_fixed</item>
36+
<item name="colorSecondaryFixedDim">@color/m3_sys_color_dynamic_secondary_fixed_dim</item>
37+
<item name="colorOnSecondaryFixed">@color/m3_sys_color_dynamic_on_secondary_fixed</item>
38+
<item name="colorOnSecondaryFixedVariant">@color/m3_sys_color_dynamic_on_secondary_fixed_variant</item>
3139
<item name="colorTertiary">@color/m3_sys_color_dynamic_light_tertiary</item>
3240
<item name="colorOnTertiary">@color/m3_sys_color_dynamic_light_on_tertiary</item>
3341
<item name="colorTertiaryContainer">@color/m3_sys_color_dynamic_light_tertiary_container</item>
3442
<item name="colorOnTertiaryContainer">@color/m3_sys_color_dynamic_light_on_tertiary_container</item>
43+
<item name="colorTertiaryFixed">@color/m3_sys_color_dynamic_tertiary_fixed</item>
44+
<item name="colorTertiaryFixedDim">@color/m3_sys_color_dynamic_tertiary_fixed_dim</item>
45+
<item name="colorOnTertiaryFixed">@color/m3_sys_color_dynamic_on_tertiary_fixed</item>
46+
<item name="colorOnTertiaryFixedVariant">@color/m3_sys_color_dynamic_on_tertiary_fixed_variant</item>
3547
<item name="android:colorBackground">@color/m3_sys_color_dynamic_light_background</item>
3648
<item name="colorOnBackground">@color/m3_sys_color_dynamic_light_on_background</item>
3749
<item name="colorSurface">@color/m3_sys_color_dynamic_light_surface</item>
@@ -78,14 +90,26 @@
7890
<item name="colorPrimaryInverse">@color/m3_sys_color_dynamic_dark_inverse_primary</item>
7991
<item name="colorPrimaryContainer">@color/m3_sys_color_dynamic_dark_primary_container</item>
8092
<item name="colorOnPrimaryContainer">@color/m3_sys_color_dynamic_dark_on_primary_container</item>
93+
<item name="colorPrimaryFixed">@color/m3_sys_color_dynamic_primary_fixed</item>
94+
<item name="colorPrimaryFixedDim">@color/m3_sys_color_dynamic_primary_fixed_dim</item>
95+
<item name="colorOnPrimaryFixed">@color/m3_sys_color_dynamic_on_primary_fixed</item>
96+
<item name="colorOnPrimaryFixedVariant">@color/m3_sys_color_dynamic_on_primary_fixed_variant</item>
8197
<item name="colorSecondary">@color/m3_sys_color_dynamic_dark_secondary</item>
8298
<item name="colorOnSecondary">@color/m3_sys_color_dynamic_dark_on_secondary</item>
8399
<item name="colorSecondaryContainer">@color/m3_sys_color_dynamic_dark_secondary_container</item>
84100
<item name="colorOnSecondaryContainer">@color/m3_sys_color_dynamic_dark_on_secondary_container</item>
101+
<item name="colorSecondaryFixed">@color/m3_sys_color_dynamic_secondary_fixed</item>
102+
<item name="colorSecondaryFixedDim">@color/m3_sys_color_dynamic_secondary_fixed_dim</item>
103+
<item name="colorOnSecondaryFixed">@color/m3_sys_color_dynamic_on_secondary_fixed</item>
104+
<item name="colorOnSecondaryFixedVariant">@color/m3_sys_color_dynamic_on_secondary_fixed_variant</item>
85105
<item name="colorTertiary">@color/m3_sys_color_dynamic_dark_tertiary</item>
86106
<item name="colorOnTertiary">@color/m3_sys_color_dynamic_dark_on_tertiary</item>
87107
<item name="colorTertiaryContainer">@color/m3_sys_color_dynamic_dark_tertiary_container</item>
88108
<item name="colorOnTertiaryContainer">@color/m3_sys_color_dynamic_dark_on_tertiary_container</item>
109+
<item name="colorTertiaryFixed">@color/m3_sys_color_dynamic_tertiary_fixed</item>
110+
<item name="colorTertiaryFixedDim">@color/m3_sys_color_dynamic_tertiary_fixed_dim</item>
111+
<item name="colorOnTertiaryFixed">@color/m3_sys_color_dynamic_on_tertiary_fixed</item>
112+
<item name="colorOnTertiaryFixedVariant">@color/m3_sys_color_dynamic_on_tertiary_fixed_variant</item>
89113
<item name="android:colorBackground">@color/m3_sys_color_dynamic_dark_background</item>
90114
<item name="colorOnBackground">@color/m3_sys_color_dynamic_dark_on_background</item>
91115
<item name="colorSurface">@color/m3_sys_color_dynamic_dark_surface</item>

0 commit comments

Comments
 (0)