@@ -87,6 +87,12 @@ class FloatingActionButtonImpl {
87
87
private static final float SPEC_HIDE_SCALE = 0f ;
88
88
private static final float SPEC_HIDE_ICON_SCALE = 0f ;
89
89
90
+ private static final int SHOW_ANIM_DURATION_ATTR = R .attr .motionDurationLong2 ;
91
+ private static final int SHOW_ANIM_EASING_ATTR = R .attr .motionEasingEmphasizedInterpolator ;
92
+ private static final int HIDE_ANIM_DURATION_ATTR = R .attr .motionDurationMedium1 ;
93
+ private static final int HIDE_ANIM_EASING_ATTR =
94
+ R .attr .motionEasingEmphasizedAccelerateInterpolator ;
95
+
90
96
@ Nullable ShapeAppearanceModel shapeAppearance ;
91
97
@ Nullable MaterialShapeDrawable shapeDrawable ;
92
98
@ Nullable Drawable rippleDrawable ;
@@ -438,7 +444,11 @@ void hide(@Nullable final InternalVisibilityChangedListener listener, final bool
438
444
} else {
439
445
set =
440
446
createDefaultAnimator (
441
- HIDE_OPACITY , HIDE_SCALE , HIDE_ICON_SCALE );
447
+ HIDE_OPACITY ,
448
+ HIDE_SCALE ,
449
+ HIDE_ICON_SCALE ,
450
+ HIDE_ANIM_DURATION_ATTR ,
451
+ HIDE_ANIM_EASING_ATTR );
442
452
}
443
453
444
454
set .addListener (
@@ -520,7 +530,11 @@ void show(@Nullable final InternalVisibilityChangedListener listener, final bool
520
530
} else {
521
531
set =
522
532
createDefaultAnimator (
523
- SHOW_OPACITY , SHOW_SCALE , SHOW_ICON_SCALE );
533
+ SHOW_OPACITY ,
534
+ SHOW_SCALE ,
535
+ SHOW_ICON_SCALE ,
536
+ SHOW_ANIM_DURATION_ATTR ,
537
+ SHOW_ANIM_EASING_ATTR );
524
538
}
525
539
526
540
set .addListener (
@@ -614,7 +628,8 @@ public Matrix evaluate(
614
628
* are changed.
615
629
*/
616
630
private AnimatorSet createDefaultAnimator (
617
- final float targetOpacity , final float targetScale , final float targetIconScale ) {
631
+ final float targetOpacity , final float targetScale , final float targetIconScale ,
632
+ final int duration , final int interpolator ) {
618
633
AnimatorSet set = new AnimatorSet ();
619
634
List <Animator > animators = new ArrayList <>();
620
635
ValueAnimator animator = ValueAnimator .ofFloat (0F , 1F );
@@ -644,14 +659,14 @@ public void onAnimationUpdate(ValueAnimator animation) {
644
659
set .setDuration (
645
660
MotionUtils .resolveThemeDuration (
646
661
view .getContext (),
647
- R . attr . motionDurationLong1 ,
662
+ duration ,
648
663
view .getContext ()
649
664
.getResources ()
650
665
.getInteger (R .integer .material_motion_duration_long_1 )));
651
666
set .setInterpolator (
652
667
MotionUtils .resolveThemeInterpolator (
653
668
view .getContext (),
654
- R . attr . motionEasingStandard ,
669
+ interpolator ,
655
670
AnimationUtils .FAST_OUT_SLOW_IN_INTERPOLATOR ));
656
671
return set ;
657
672
}
0 commit comments