From 93a38d80b202a95cc0336e5cc04dbad92e43253d Mon Sep 17 00:00:00 2001 From: Angus Kong Date: Fri, 30 Aug 2013 17:09:46 -0700 Subject: Make the preview thumbnail clicable after scaling. bug:10552110 Change-Id: I81abd96ad971543412597dbe8f7f57eeb6d3c1fa --- src/com/android/camera/AnimationManager.java | 33 ++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/src/com/android/camera/AnimationManager.java b/src/com/android/camera/AnimationManager.java index 41aa4b862..5397ae02b 100644 --- a/src/com/android/camera/AnimationManager.java +++ b/src/com/android/camera/AnimationManager.java @@ -59,6 +59,32 @@ public class AnimationManager { ObjectAnimator slide = ObjectAnimator.ofFloat(view, "translationX", 0f, slideDistance) .setDuration(AnimationManager.SLIDE_DURATION); slide.setStartDelay(AnimationManager.SHRINK_DURATION + AnimationManager.HOLD_DURATION); + + ObjectAnimator translateY = ObjectAnimator.ofFloat(view, "translationY", + parentView.getHeight() / 2 - centerY, 0f) + .setDuration(AnimationManager.SHRINK_DURATION); + translateY.addListener(new Animator.AnimatorListener() { + @Override + public void onAnimationStart(Animator animator) { + // Do nothing. + } + + @Override + public void onAnimationEnd(Animator animator) { + view.setClickable(true); + } + + @Override + public void onAnimationCancel(Animator animator) { + // Do nothing. + } + + @Override + public void onAnimationRepeat(Animator animator) { + // Do nothing. + } + }); + mCaptureAnimator = new AnimatorSet(); mCaptureAnimator.playTogether( ObjectAnimator.ofFloat(view, "scaleX", scale, 1f) @@ -68,13 +94,12 @@ public class AnimationManager { ObjectAnimator.ofFloat(view, "translationX", parentView.getWidth() / 2 - centerX, 0f) .setDuration(AnimationManager.SHRINK_DURATION), - ObjectAnimator.ofFloat(view, "translationY", - parentView.getHeight() / 2 - centerY, 0f) - .setDuration(AnimationManager.SHRINK_DURATION), + translateY, slide); mCaptureAnimator.addListener(new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator animator) { + view.setClickable(false); view.setVisibility(View.VISIBLE); } @@ -154,4 +179,4 @@ public class AnimationManager { mCaptureAnimator.cancel(); } } -} \ No newline at end of file +} -- cgit v1.2.3