Skip to content

Commit 75ff33f

Browse files
pekingmedrchen
authored andcommitted
[Button] Updated expressive styles color and structure.
PiperOrigin-RevId: 658586627
1 parent d3f2ca8 commit 75ff33f

File tree

7 files changed

+63
-10
lines changed

7 files changed

+63
-10
lines changed

lib/java/com/google/android/material/button/res/animator/m3_btn_elevated_btn_state_list_anim.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
android:state_enabled="true"
2323
android:state_hovered="true">
2424
<set>
25+
<!-- TODO(b/356201474) change valueTo to m3_btn_elevated_translation_z_hovered. -->
2526
<objectAnimator
2627
android:duration="@integer/m3_btn_anim_duration_ms"
2728
android:propertyName="translationZ"

lib/java/com/google/android/material/button/res/values/dimens.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@
8585

8686
<dimen name="m3_btn_translation_z_base">0dp</dimen>
8787
<dimen name="m3_btn_translation_z_hovered">1dp</dimen>
88+
<dimen name="m3_btn_elevated_translation_z_hovered">2dp</dimen>
8889
<dimen name="m3_btn_disabled_translation_z">0dp</dimen>
8990
<dimen name="m3_btn_disabled_elevation">0dp</dimen>
9091

lib/java/com/google/android/material/button/res/values/styles.xml

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,7 +162,6 @@
162162

163163
<!-- M3 filled tonal button style. -->
164164
<style name="Widget.Material3.Button.TonalButton">
165-
<item name="rippleColor">@color/m3_tonal_button_ripple_color_selector</item>
166165
<item name="materialThemeOverlay">@style/ThemeOverlay.Material3.Button.TonalButton</item>
167166
</style>
168167

@@ -301,13 +300,21 @@
301300
<style name="ThemeOverlay.Material3.Button" parent="">
302301
<!-- The colors used by the color selectors -->
303302
<item name="colorOnContainer">@macro/m3_comp_filled_button_label_text_color</item>
303+
<item name="colorOnContainerChecked">@macro/m3_comp_filled_button_label_text_color</item>
304+
<item name="colorOnContainerUnchecked">@macro/m3_comp_filled_button_label_text_color</item>
304305
<item name="colorContainer">@macro/m3_comp_filled_button_container_color</item>
306+
<item name="colorContainerChecked">@macro/m3_comp_filled_button_container_color</item>
307+
<item name="colorContainerUnchecked">@macro/m3_comp_filled_button_container_color</item>
305308
</style>
306309

307310
<style name="ThemeOverlay.Material3.Button.TonalButton">
308311
<!-- The colors used by the color selectors -->
309312
<item name="colorOnContainer">@macro/m3_comp_filled_tonal_button_label_text_color</item>
313+
<item name="colorOnContainerChecked">@macro/m3_comp_filled_tonal_button_label_text_color</item>
314+
<item name="colorOnContainerUnchecked">@macro/m3_comp_filled_tonal_button_label_text_color</item>
310315
<item name="colorContainer">@macro/m3_comp_filled_tonal_button_container_color</item>
316+
<item name="colorContainerChecked">@macro/m3_comp_filled_tonal_button_container_color</item>
317+
<item name="colorContainerUnchecked">@macro/m3_comp_filled_tonal_button_container_color</item>
311318
</style>
312319

313320
<style name="ThemeOverlay.Material3.Button.TextButton" parent="">
@@ -324,6 +331,8 @@
324331
<style name="ThemeOverlay.Material3.Button.ElevatedButton" parent="ThemeOverlay.Material3.Button.TextButton">
325332
<!-- The colors used by the color selectors -->
326333
<item name="colorContainer">@macro/m3_comp_elevated_button_container_color</item>
334+
<item name="colorContainerChecked">@macro/m3_comp_elevated_button_container_color</item>
335+
<item name="colorContainerUnchecked">@macro/m3_comp_elevated_button_container_color</item>
327336
</style>
328337

329338
<style name="ThemeOverlay.Material3.Button.IconButton" parent="ThemeOverlay.Material3.Button.TextButton">

lib/java/com/google/android/material/color/res/color/m3_button_background_color_selector.xml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
~ limitations under the License.
1616
-->
1717
<selector xmlns:android="http://schemas.android.com/apk/res/android">
18-
<item android:color="?attr/colorContainer" android:state_enabled="true"/>
19-
<item android:alpha="@dimen/material_emphasis_disabled_background" android:color="?attr/colorOnSurface"/>
18+
<item android:state_enabled="false"
19+
android:alpha="@dimen/material_emphasis_disabled_background" android:color="?attr/colorOnSurface"/>
20+
<item android:state_checked="true" android:color="?attr/colorContainerChecked"/>
21+
<item android:state_checkable="true" android:color="?attr/colorContainerUnchecked"/>
22+
<item android:color="?attr/colorContainer" />
2023
</selector>

lib/java/com/google/android/material/color/res/color/m3_button_foreground_color_selector.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,11 @@
1515
~ limitations under the License.
1616
-->
1717
<selector xmlns:android="http://schemas.android.com/apk/res/android">
18-
<item android:color="?attr/colorOnContainer" android:state_enabled="true"/>
19-
<item android:alpha="@dimen/material_emphasis_disabled" android:color="?attr/colorOnSurface"/>
18+
<item android:state_enabled="false"
19+
android:alpha="@dimen/material_emphasis_disabled" android:color="?attr/colorOnSurface"/>
20+
<item android:state_checkable="true" android:state_checked="true"
21+
android:color="?attr/colorOnContainerChecked"/>
22+
<item android:state_checkable="true"
23+
android:color="?attr/colorOnContainerUnchecked"/>
24+
<item android:color="?attr/colorOnContainer"/>
2025
</selector>

lib/java/com/google/android/material/color/res/color/m3_button_ripple_color_selector.xml

Lines changed: 29 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,33 @@
1515
~ limitations under the License.
1616
-->
1717
<selector xmlns:android="http://schemas.android.com/apk/res/android">
18-
<item android:alpha="@dimen/m3_ripple_pressed_alpha" android:color="?attr/colorOnContainer" android:state_pressed="true"/>
19-
<item android:alpha="@dimen/m3_ripple_focused_alpha" android:color="?attr/colorOnContainer" android:state_focused="true"/>
20-
<item android:alpha="@dimen/m3_ripple_hovered_alpha" android:color="?attr/colorOnContainer" android:state_hovered="true"/>
21-
<item android:alpha="@dimen/m3_ripple_default_alpha" android:color="?attr/colorOnContainer"/>
18+
<!-- Uncheckable -->
19+
<item android:state_checkable="false" android:state_pressed="true"
20+
android:alpha="@dimen/m3_ripple_pressed_alpha" android:color="?attr/colorOnContainer"/>
21+
<item android:state_checkable="false" android:state_focused="true"
22+
android:alpha="@dimen/m3_ripple_focused_alpha" android:color="?attr/colorOnContainer"/>
23+
<item android:state_checkable="false" android:state_hovered="true"
24+
android:alpha="@dimen/m3_ripple_hovered_alpha" android:color="?attr/colorOnContainer"/>
25+
<item android:state_checkable="false"
26+
android:alpha="@dimen/m3_ripple_default_alpha" android:color="?attr/colorOnContainer"/>
27+
28+
<!-- Checkable, checked -->
29+
<item android:state_pressed="true" android:state_checked="true"
30+
android:alpha="@dimen/m3_ripple_pressed_alpha" android:color="?attr/colorOnContainerChecked"/>
31+
<item android:state_focused="true" android:state_checked="true"
32+
android:alpha="@dimen/m3_ripple_focused_alpha" android:color="?attr/colorOnContainerChecked"/>
33+
<item android:state_hovered="true" android:state_checked="true"
34+
android:alpha="@dimen/m3_ripple_hovered_alpha" android:color="?attr/colorOnContainerChecked"/>
35+
<item android:state_checked="true"
36+
android:alpha="@dimen/m3_ripple_default_alpha" android:color="?attr/colorOnContainerChecked"/>
37+
38+
<!-- Checkable, unchecked -->
39+
<item android:state_pressed="true"
40+
android:alpha="@dimen/m3_ripple_pressed_alpha" android:color="?attr/colorOnContainerUnchecked"/>
41+
<item android:state_focused="true"
42+
android:alpha="@dimen/m3_ripple_focused_alpha" android:color="?attr/colorOnContainerUnchecked"/>
43+
<item android:state_hovered="true"
44+
android:alpha="@dimen/m3_ripple_hovered_alpha" android:color="?attr/colorOnContainerUnchecked"/>
45+
<item
46+
android:alpha="@dimen/m3_ripple_default_alpha" android:color="?attr/colorOnContainerUnchecked"/>
2247
</selector>

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

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,12 +135,21 @@
135135
<!-- These container colors are only meant to be used in component-level
136136
styles and resources as a means of indirection. They enable remapping
137137
to other attrs like primary, secondary, surface, etc. -->
138-
<!-- Container background color. -->
138+
<!-- Color to use for background container. -->
139139
<attr name="colorContainer" format="color"/>
140140

141+
<!-- Color to use for checkable background container in checked state. -->
142+
<attr name="colorContainerChecked" format="color"/>
143+
144+
<!-- Color to use for checkable background container in unchecked state. -->
145+
<attr name="colorContainerUnchecked" format="color"/>
146+
141147
<!-- Color to use for foreground elements on top of colorContainer. -->
142148
<attr name="colorOnContainer" format="color"/>
143149

150+
<!-- Color to use for checkable foreground elements in checked state on top of colorContainer. -->
151+
<attr name="colorOnContainerChecked" format="color"/>
152+
144153
<!-- Color to use for checkable foreground elements in unchecked state on top of colorContainer. -->
145154
<attr name="colorOnContainerUnchecked" format="color"/>
146155

0 commit comments

Comments
 (0)