Skip to content

Commit aaba706

Browse files
Piotr Zawadzkizawadz88
authored andcommitted
introduced animations below L, smoother animation on L+
1 parent 72951ff commit aaba706

File tree

9 files changed

+88
-29
lines changed

9 files changed

+88
-29
lines changed

material-stepper/src/main/java/com/stepstone/stepper/internal/widget/StepTab.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,6 @@ private AnimatedVectorDrawableCompat createWarningToCircleDrawable() {
181181
return AnimatedVectorDrawableCompat.create(getContext(), R.drawable.ms_avd_warning_to_circle);
182182
}
183183

184-
// TODO: 04/03/2017 Add fade in step number/done indicator when changing from warning for a smoother transition
185184
/**
186185
* <p>Base state class of the tab.
187186
* It is used to specify what should happen from the UI perspective
@@ -196,6 +195,7 @@ private AnimatedVectorDrawableCompat createWarningToCircleDrawable() {
196195
*/
197196
private abstract class AbstractState {
198197

198+
@CallSuper
199199
protected void changeToInactiveNumber() {
200200
StepTab.this.mCurrentState = new InactiveNumberState();
201201
}
@@ -205,10 +205,12 @@ protected void changeToActiveNumber() {
205205
StepTab.this.mCurrentState = new ActiveNumberState();
206206
}
207207

208+
@CallSuper
208209
protected void changeToDone() {
209210
StepTab.this.mCurrentState = new DoneState();
210211
}
211212

213+
@CallSuper
212214
protected void changeToWarning() {
213215
mStepDoneIndicator.setVisibility(View.GONE);
214216
mStepNumber.setVisibility(View.GONE);
@@ -221,6 +223,7 @@ protected void changeToWarning() {
221223
private abstract class AbstractNumberState extends AbstractState {
222224

223225
@Override
226+
@CallSuper
224227
protected void changeToWarning() {
225228
AnimatedVectorDrawableCompat avd = createCircleToWarningDrawable();
226229
mStepIconBackground.setImageDrawable(avd);
@@ -229,6 +232,7 @@ protected void changeToWarning() {
229232
}
230233

231234
@Override
235+
@CallSuper
232236
protected void changeToDone() {
233237
mStepDoneIndicator.setVisibility(VISIBLE);
234238
mStepNumber.setVisibility(GONE);
@@ -239,10 +243,11 @@ protected void changeToDone() {
239243

240244
private class InactiveNumberState extends AbstractNumberState {
241245

242-
243246
@Override
244247
protected void changeToInactiveNumber() {
245248
mStepIconBackground.setColorFilter(mUnselectedColor);
249+
mStepTitle.setTextColor(mTitleColor);
250+
mStepTitle.setAlpha(INACTIVE_STEP_TITLE_ALPHA);
246251
super.changeToInactiveNumber();
247252
}
248253

material-stepper/src/main/res/drawable-v21/ms_avd_circle_to_warning.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<aapt:attr name="android:animation">
77
<objectAnimator
88
android:duration="@integer/ms_default_error_tab_animation_duration"
9-
android:interpolator="@android:interpolator/fast_out_slow_in"
9+
android:interpolator="@android:anim/accelerate_interpolator"
1010
android:propertyName="pathData"
1111
android:valueFrom="@string/ms_warning_outer_layer_expanded_path"
1212
android:valueTo="@string/ms_warning_outer_layer_collapsed_path"
@@ -18,7 +18,7 @@
1818
<aapt:attr name="android:animation">
1919
<objectAnimator
2020
android:duration="@integer/ms_default_error_tab_animation_duration"
21-
android:interpolator="@android:interpolator/fast_out_slow_in"
21+
android:interpolator="@android:anim/accelerate_interpolator"
2222
android:propertyName="pathData"
2323
android:valueFrom="@string/ms_warning_filled_path"
2424
android:valueTo="@string/ms_warning_default_path"
@@ -30,7 +30,7 @@
3030
<aapt:attr name="android:animation">
3131
<objectAnimator
3232
android:duration="@integer/ms_default_error_tab_animation_duration"
33-
android:interpolator="@android:interpolator/fast_out_slow_in"
33+
android:interpolator="@android:anim/accelerate_interpolator"
3434
android:propertyName="translateY"
3535
android:valueFrom="0"
3636
android:valueTo="@integer/ms_warning_translate_y" />

material-stepper/src/main/res/drawable-v21/ms_avd_warning_to_circle.xml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
<aapt:attr name="android:animation">
77
<objectAnimator
88
android:duration="@integer/ms_default_error_tab_animation_duration"
9-
android:interpolator="@android:interpolator/fast_out_slow_in"
9+
android:interpolator="@android:anim/accelerate_interpolator"
1010
android:propertyName="pathData"
1111
android:valueFrom="@string/ms_warning_outer_layer_collapsed_path"
1212
android:valueTo="@string/ms_warning_outer_layer_expanded_path"
@@ -17,8 +17,8 @@
1717
<target android:name="original_warning">
1818
<aapt:attr name="android:animation">
1919
<objectAnimator
20-
android:duration="@integer/ms_default_error_tab_animation_duration"
21-
android:interpolator="@android:interpolator/fast_out_slow_in"
20+
android:duration="0"
21+
android:interpolator="@android:anim/accelerate_interpolator"
2222
android:propertyName="pathData"
2323
android:valueFrom="@string/ms_warning_default_path"
2424
android:valueTo="@string/ms_warning_filled_path"
@@ -30,7 +30,7 @@
3030
<aapt:attr name="android:animation">
3131
<objectAnimator
3232
android:duration="@integer/ms_default_error_tab_animation_duration"
33-
android:interpolator="@android:interpolator/fast_out_slow_in"
33+
android:interpolator="@android:anim/accelerate_interpolator"
3434
android:propertyName="translateY"
3535
android:valueFrom="@integer/ms_warning_translate_y"
3636
android:valueTo="0" />

material-stepper/src/main/res/drawable/ms_avd_circle_to_warning.xml

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,35 @@
55
<target android:name="circle">
66
<aapt:attr name="android:animation">
77
<objectAnimator
8-
android:duration="@integer/ms_default_error_tab_animation_duration"
8+
android:duration="1"
9+
android:startOffset="299"
910
android:propertyName="fillAlpha"
1011
android:valueFrom="1"
1112
android:valueTo="0" />
1213
</aapt:attr>
1314
</target>
1415

16+
<target android:name="circle_group">
17+
<aapt:attr name="android:animation">
18+
<set>
19+
20+
<objectAnimator
21+
android:propertyName="scaleX"
22+
android:valueFrom="1"
23+
android:valueTo="0.5"
24+
android:interpolator="@android:anim/accelerate_interpolator"
25+
android:duration="@integer/ms_default_error_tab_animation_duration" />
26+
27+
<objectAnimator
28+
android:propertyName="scaleY"
29+
android:valueFrom="1"
30+
android:valueTo="0.5"
31+
android:interpolator="@android:anim/accelerate_interpolator"
32+
android:duration="@integer/ms_default_error_tab_animation_duration" />
33+
</set>
34+
</aapt:attr>
35+
</target>
36+
1537
<target android:name="warning">
1638
<aapt:attr name="android:animation">
1739
<objectAnimator

material-stepper/src/main/res/drawable/ms_avd_warning_to_circle.xml

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,32 @@
55
<target android:name="circle">
66
<aapt:attr name="android:animation">
77
<objectAnimator
8-
android:duration="@integer/ms_default_error_tab_animation_duration"
8+
android:duration="0"
99
android:propertyName="fillAlpha"
1010
android:valueFrom="0"
1111
android:valueTo="1" />
1212
</aapt:attr>
1313
</target>
1414

15+
<target android:name="circle_group">
16+
<aapt:attr name="android:animation">
17+
<set>
18+
19+
<objectAnimator
20+
android:duration="@integer/ms_default_error_tab_animation_duration"
21+
android:propertyName="scaleX"
22+
android:valueFrom="0.5"
23+
android:valueTo="1" />
24+
25+
<objectAnimator
26+
android:duration="@integer/ms_default_error_tab_animation_duration"
27+
android:propertyName="scaleY"
28+
android:valueFrom="0.5"
29+
android:valueTo="1" />
30+
</set>
31+
</aapt:attr>
32+
</target>
33+
1534
<target android:name="warning">
1635
<aapt:attr name="android:animation">
1736
<objectAnimator

material-stepper/src/main/res/drawable/ms_vd_circle.xml

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,21 @@
44
android:viewportHeight="24.0"
55
android:viewportWidth="24.0">
66

7-
<path
8-
android:name="circle"
9-
android:fillAlpha="1"
10-
android:fillColor="#ff000000"
11-
android:pathData="@string/ms_circle_path" />
7+
8+
<group
9+
android:name="circle_group"
10+
android:pivotX="12"
11+
android:pivotY="12"
12+
android:scaleX="1"
13+
android:scaleY="1">
14+
15+
<path
16+
android:name="circle"
17+
android:fillAlpha="1"
18+
android:fillColor="#ff000000"
19+
android:pathData="@string/ms_circle_path" />
20+
21+
</group>
1222

1323
<group
1424
android:name="warning"

material-stepper/src/main/res/drawable/ms_vd_warning.xml

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,28 @@
44
android:viewportHeight="24.0"
55
android:viewportWidth="24.0">
66

7-
<path
8-
android:name="circle"
9-
android:fillAlpha="0"
10-
android:fillColor="#ff000000"
11-
android:pathData="@string/ms_circle_path" />
7+
<group
8+
android:name="circle_group"
9+
android:pivotX="12"
10+
android:pivotY="12"
11+
android:scaleX="0.5"
12+
android:scaleY="0.5">
13+
14+
<path
15+
android:name="circle"
16+
android:fillAlpha="0"
17+
android:fillColor="#ff000000"
18+
android:pathData="@string/ms_circle_path" />
19+
20+
</group>
1221

1322
<group
1423
android:name="warning"
1524
android:translateY="@integer/ms_warning_translate_y">
1625

1726
<path
1827
android:fillColor="#ff000000"
19-
android:pathData="@string/ms_warning_default_path"/>
28+
android:pathData="@string/ms_warning_default_path" />
2029

2130
</group>
2231

material-stepper/src/main/res/values-v21/numbers.xml

Lines changed: 0 additions & 6 deletions
This file was deleted.

material-stepper/src/main/res/values/numbers.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<resources>
33

4-
<integer name="ms_default_error_tab_animation_duration">0</integer>
4+
<integer name="ms_default_error_tab_animation_duration">300</integer>
55

66
<integer name="ms_warning_translate_y">2</integer>
77

0 commit comments

Comments
 (0)