summaryrefslogtreecommitdiffstats
path: root/src/com/android/browser/NavTabScroller.java
diff options
context:
space:
mode:
authorMichael Kolb <kolby@google.com>2011-09-23 14:10:22 -0700
committerMichael Kolb <kolby@google.com>2011-09-23 14:12:14 -0700
commit1a8f3c45241eaa047116f33e08bcb77b4924daf3 (patch)
tree8a9dbc11861033ddb54f8de2d7a70bfc0fe15190 /src/com/android/browser/NavTabScroller.java
parentb99d2d01d1a5ea003d76979ca50f1fe2b12e688d (diff)
downloadpackages_apps_Browser-1a8f3c45241eaa047116f33e08bcb77b4924daf3.tar.gz
packages_apps_Browser-1a8f3c45241eaa047116f33e08bcb77b4924daf3.tar.bz2
packages_apps_Browser-1a8f3c45241eaa047116f33e08bcb77b4924daf3.zip
Add transparency to tab switcher
Bug: 5361553 This fixes the transparency issue. No change to physics. Change-Id: I85177dd87296155ad923f3967d311337b6cd8b52
Diffstat (limited to 'src/com/android/browser/NavTabScroller.java')
-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 03bf5953b..82519287b 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);
}