Skip to content

Commit 835624e

Browse files
paulfthomasjosefigueroa168
authored andcommitted
[M3][Button] Update elevation to match specs
PiperOrigin-RevId: 411148215 (cherry picked from commit db64adb)
1 parent 0ac68ec commit 835624e

File tree

4 files changed

+78
-41
lines changed

4 files changed

+78
-41
lines changed

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

Lines changed: 2 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -17,24 +17,6 @@
1717
<set xmlns:android="http://schemas.android.com/apk/res/android">
1818
<selector>
1919

20-
<!-- Pressed state -->
21-
<item
22-
android:state_enabled="true"
23-
android:state_pressed="true">
24-
<set>
25-
<objectAnimator
26-
android:duration="@integer/m3_btn_anim_duration_ms"
27-
android:propertyName="translationZ"
28-
android:valueTo="@dimen/m3_btn_translation_z_pressed"
29-
android:valueType="floatType"/>
30-
<objectAnimator
31-
android:duration="0"
32-
android:propertyName="elevation"
33-
android:valueTo="@dimen/m3_btn_elevated_btn_elevation"
34-
android:valueType="floatType"/>
35-
</set>
36-
</item>
37-
3820
<!-- Hover state. This is triggered via mouse. -->
3921
<item
4022
android:state_enabled="true"
@@ -43,25 +25,7 @@
4325
<objectAnimator
4426
android:duration="@integer/m3_btn_anim_duration_ms"
4527
android:propertyName="translationZ"
46-
android:valueTo="@dimen/m3_btn_translation_z_hovered_focused"
47-
android:valueType="floatType"/>
48-
<objectAnimator
49-
android:duration="0"
50-
android:propertyName="elevation"
51-
android:valueTo="@dimen/m3_btn_elevated_btn_elevation"
52-
android:valueType="floatType"/>
53-
</set>
54-
</item>
55-
56-
<!-- Focused state. This is triggered via keyboard. -->
57-
<item
58-
android:state_enabled="true"
59-
android:state_focused="true">
60-
<set>
61-
<objectAnimator
62-
android:duration="@integer/m3_btn_anim_duration_ms"
63-
android:propertyName="translationZ"
64-
android:valueTo="@dimen/m3_btn_translation_z_hovered_focused"
28+
android:valueTo="@dimen/m3_btn_translation_z_hovered"
6529
android:valueType="floatType"/>
6630
<objectAnimator
6731
android:duration="0"
@@ -71,7 +35,7 @@
7135
</set>
7236
</item>
7337

74-
<!-- Base state (enabled, not pressed) -->
38+
<!-- Base state (enabled) -->
7539
<item android:state_enabled="true">
7640
<set>
7741
<objectAnimator
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<!--
3+
Copyright (C) 2021 The Android Open Source Project
4+
5+
Licensed under the Apache License, Version 2.0 (the "License");
6+
you may not use this file except in compliance with the License.
7+
You may obtain a copy of the License at
8+
9+
http://www.apache.org/licenses/LICENSE-2.0
10+
11+
Unless required by applicable law or agreed to in writing, software
12+
distributed under the License is distributed on an "AS IS" BASIS,
13+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
See the License for the specific language governing permissions and
15+
limitations under the License.
16+
-->
17+
<set xmlns:android="http://schemas.android.com/apk/res/android">
18+
<selector>
19+
20+
<!-- Hover state. This is triggered via mouse. -->
21+
<item
22+
android:state_enabled="true"
23+
android:state_hovered="true">
24+
<set>
25+
<objectAnimator
26+
android:duration="@integer/m3_btn_anim_duration_ms"
27+
android:propertyName="translationZ"
28+
android:valueTo="@dimen/m3_btn_translation_z_hovered"
29+
android:valueType="floatType"/>
30+
<objectAnimator
31+
android:duration="0"
32+
android:propertyName="elevation"
33+
android:valueTo="@dimen/m3_btn_elevation"
34+
android:valueType="floatType"/>
35+
</set>
36+
</item>
37+
38+
<!-- Base state (enabled) -->
39+
<item android:state_enabled="true">
40+
<set>
41+
<objectAnimator
42+
android:duration="@integer/m3_btn_anim_duration_ms"
43+
android:propertyName="translationZ"
44+
android:startDelay="@integer/m3_btn_anim_delay_ms"
45+
android:valueTo="@dimen/m3_btn_translation_z_base"
46+
android:valueType="floatType"/>
47+
<objectAnimator
48+
android:duration="0"
49+
android:propertyName="elevation"
50+
android:valueTo="@dimen/m3_btn_elevation"
51+
android:valueType="floatType"/>
52+
</set>
53+
</item>
54+
55+
<!-- Disabled state -->
56+
<item>
57+
<set>
58+
<objectAnimator
59+
android:duration="0"
60+
android:propertyName="translationZ"
61+
android:valueTo="@dimen/m3_btn_disabled_translation_z"
62+
android:valueType="floatType"/>
63+
<objectAnimator
64+
android:duration="0"
65+
android:propertyName="elevation"
66+
android:valueTo="@dimen/m3_btn_disabled_elevation"
67+
android:valueType="floatType"/>
68+
</set>
69+
</item>
70+
71+
</selector>
72+
</set>

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@
5959
<dimen name="m3_btn_padding_right">24dp</dimen>
6060
<dimen name="m3_btn_padding_top">6dp</dimen>
6161
<dimen name="m3_btn_padding_bottom">6dp</dimen>
62+
<dimen name="m3_btn_elevation">0dp</dimen>
6263
<dimen name="m3_btn_elevated_btn_elevation">1dp</dimen>
6364
<dimen name="m3_btn_icon_btn_padding_left">16dp</dimen>
6465
<dimen name="m3_btn_icon_btn_padding_right">24dp</dimen>
@@ -75,8 +76,7 @@
7576
<dimen name="m3_btn_dialog_btn_spacing">8dp</dimen>
7677

7778
<dimen name="m3_btn_translation_z_base">0dp</dimen>
78-
<dimen name="m3_btn_translation_z_pressed">3dp</dimen>
79-
<dimen name="m3_btn_translation_z_hovered_focused">1dp</dimen>
79+
<dimen name="m3_btn_translation_z_hovered">1dp</dimen>
8080
<dimen name="m3_btn_disabled_translation_z">0dp</dimen>
8181
<dimen name="m3_btn_disabled_elevation">0dp</dimen>
8282

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,8 @@
134134
<item name="android:textAppearance">?attr/textAppearanceLabelLarge</item>
135135
<item name="shapeAppearanceOverlay">@style/ShapeAppearanceOverlay.Material3.Button</item>
136136
<item name="materialThemeOverlay">@style/ThemeOverlay.Material3.Button</item>
137-
137+
<item name="android:stateListAnimator" tools:ignore="NewApi">@animator/m3_btn_state_list_anim</item>
138+
<item name="elevation">@dimen/m3_btn_elevation</item>
138139
<item name="android:textColor">@color/m3_button_foreground_color_selector</item>
139140
<item name="iconTint">@color/m3_button_foreground_color_selector</item>
140141
<item name="iconSize">18dp</item>

0 commit comments

Comments
 (0)