Skip to content

Commit c6f84e6

Browse files
committed
Improve drawer toggle animation
1 parent b6a2d55 commit c6f84e6

File tree

1 file changed

+31
-29
lines changed

1 file changed

+31
-29
lines changed

dynamic-support/src/main/java/com/pranavpandey/android/dynamic/support/activity/DynamicDrawerActivity.java

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -438,45 +438,47 @@ public void onClick(View v) {
438438
* @param endOffset The end offset.
439439
*/
440440
public void animateDrawerToggle(final float startOffset, final float endOffset) {
441-
if (endOffset == 0f && !isPersistentDrawer()) {
441+
if (isPersistentDrawer()) {
442+
showDrawerToggle(false);
443+
444+
return;
445+
}
446+
447+
if (endOffset == 0f) {
442448
showDrawerToggle(true);
443449
}
444450

445-
if (!isPersistentDrawer()) {
446-
ValueAnimator valueAnimator = ValueAnimator.ofFloat(startOffset, endOffset);
451+
ValueAnimator valueAnimator = ValueAnimator.ofFloat(startOffset, endOffset);
447452

448-
valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
449-
@Override
450-
public void onAnimationUpdate(ValueAnimator valueAnimator) {
451-
float slideOffset = (Float) valueAnimator.getAnimatedValue();
452-
mDrawerToggle.onDrawerSlide(mDrawer, slideOffset);
453-
}
454-
});
453+
valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
454+
@Override
455+
public void onAnimationUpdate(ValueAnimator valueAnimator) {
456+
float slideOffset = (Float) valueAnimator.getAnimatedValue();
457+
mDrawerToggle.onDrawerSlide(mDrawer, slideOffset);
458+
}
459+
});
455460

456-
valueAnimator.addListener(new Animator.AnimatorListener() {
457-
@Override
458-
public void onAnimationStart(Animator animator) { }
461+
valueAnimator.addListener(new Animator.AnimatorListener() {
462+
@Override
463+
public void onAnimationStart(Animator animator) { }
459464

460-
@Override
461-
public void onAnimationEnd(Animator animator) {
462-
if (endOffset == 1f) {
463-
showDrawerToggle(false);
464-
}
465+
@Override
466+
public void onAnimationEnd(Animator animator) {
467+
if (endOffset == 1f) {
468+
showDrawerToggle(false);
465469
}
470+
}
466471

467-
@Override
468-
public void onAnimationCancel(Animator animator) { }
472+
@Override
473+
public void onAnimationCancel(Animator animator) { }
469474

470-
@Override
471-
public void onAnimationRepeat(Animator animator) { }
472-
});
475+
@Override
476+
public void onAnimationRepeat(Animator animator) { }
477+
});
473478

474-
valueAnimator.setInterpolator(new DecelerateInterpolator());
475-
valueAnimator.setDuration(DynamicMotion.Duration.SHORT);
476-
valueAnimator.start();
477-
} else {
478-
showDrawerToggle(false);
479-
}
479+
valueAnimator.setInterpolator(new DecelerateInterpolator());
480+
valueAnimator.setDuration(DynamicMotion.Duration.SHORT);
481+
valueAnimator.start();
480482
}
481483

482484
/**

0 commit comments

Comments
 (0)