summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Kolb <kolby@google.com>2011-09-23 14:53:37 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2011-09-23 14:53:37 -0700
commitca050b898f65902696bedeb6c9a12e8ea2bc3434 (patch)
tree00d6531ef731f03fe80ff490c25104d92435a840
parent4cd25485194a8154efcd7b93d0cf530ebac563f2 (diff)
parent1a8f3c45241eaa047116f33e08bcb77b4924daf3 (diff)
downloadpackages_apps_Browser-ca050b898f65902696bedeb6c9a12e8ea2bc3434.zip
packages_apps_Browser-ca050b898f65902696bedeb6c9a12e8ea2bc3434.tar.gz
packages_apps_Browser-ca050b898f65902696bedeb6c9a12e8ea2bc3434.tar.bz2
Merge "Add transparency to tab switcher"
-rw-r--r--src/com/android/browser/NavTabScroller.java19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/com/android/browser/NavTabScroller.java b/src/com/android/browser/NavTabScroller.java
index 03bf595..8251928 100644
--- a/src/com/android/browser/NavTabScroller.java
+++ b/src/com/android/browser/NavTabScroller.java
@@ -60,7 +60,7 @@ public class NavTabScroller extends ScrollerView {
// after drag animation velocity in pixels/sec
private static final float MIN_VELOCITY = 1500;
- private Animator mAnimator;
+ private AnimatorSet mAnimator;
private float mFlingVelocity;
private boolean mNeedsScroll;
@@ -335,11 +335,16 @@ public class NavTabScroller extends ScrollerView {
}
int distance = target - (mHorizontal ? v.getTop() : v.getLeft());
long duration = (long) (Math.abs(distance) * 1000 / Math.abs(velocity));
+ mAnimator = new AnimatorSet();
+ ObjectAnimator trans;
+ ObjectAnimator alpha = ObjectAnimator.ofFloat(v, ALPHA, getAlpha(v,start),
+ getAlpha(v,target));
if (mHorizontal) {
- mAnimator = ObjectAnimator.ofFloat(v, TRANSLATION_Y, start, target);
+ trans = ObjectAnimator.ofFloat(v, TRANSLATION_Y, start, target);
} else {
- mAnimator = ObjectAnimator.ofFloat(v, TRANSLATION_X, start, target);
+ trans = ObjectAnimator.ofFloat(v, TRANSLATION_X, start, target);
}
+ mAnimator.playTogether(trans, alpha);
mAnimator.setDuration(duration);
mAnimator.addListener(new AnimatorListenerAdapter() {
public void onAnimationEnd(Animator a) {
@@ -415,6 +420,7 @@ public class NavTabScroller extends ScrollerView {
}
private void offsetView(View v, float distance) {
+ v.setAlpha(getAlpha(v, distance));
if (mHorizontal) {
v.setTranslationY(distance);
} else {
@@ -422,7 +428,12 @@ public class NavTabScroller extends ScrollerView {
}
}
- private float ease(DecelerateInterpolator inter, float value, float start, float dist, float duration) {
+ private float getAlpha(View v, float distance) {
+ return 1 - (float) Math.abs(distance) / (mHorizontal ? v.getHeight() : v.getWidth());
+ }
+
+ private float ease(DecelerateInterpolator inter, float value, float start,
+ float dist, float duration) {
return start + dist * inter.getInterpolation(value / duration);
}