From 2d1acfc9f7e1502a5dbb8cab54289d6fbb880467 Mon Sep 17 00:00:00 2001 From: Christian Robertson Date: Fri, 27 Sep 2013 18:54:28 -0700 Subject: New, less blue overscroll assets with tuned constants in EdgeEffect class. Glow absorb animation was very slow with high velocity flings. Clamped the velocity and adjusted constants for start values and duration of absorb animation. Change-Id: Id2a87814498e05f5f8ceb942dd1d765874461beb --- core/java/android/widget/EdgeEffect.java | 10 ++++++---- core/res/res/drawable-hdpi/overscroll_edge.png | Bin 1345 -> 705 bytes core/res/res/drawable-hdpi/overscroll_glow.png | Bin 36241 -> 38955 bytes core/res/res/drawable-mdpi/overscroll_edge.png | Bin 903 -> 534 bytes core/res/res/drawable-mdpi/overscroll_glow.png | Bin 20055 -> 16033 bytes core/res/res/drawable-xhdpi/overscroll_edge.png | Bin 1889 -> 862 bytes core/res/res/drawable-xhdpi/overscroll_glow.png | Bin 50899 -> 70364 bytes core/res/res/drawable-xxhdpi/overscroll_edge.png | Bin 3900 -> 1994 bytes core/res/res/drawable-xxhdpi/overscroll_glow.png | Bin 63177 -> 123685 bytes 9 files changed, 6 insertions(+), 4 deletions(-) (limited to 'core') diff --git a/core/java/android/widget/EdgeEffect.java b/core/java/android/widget/EdgeEffect.java index bb4a4cf..30752e0 100644 --- a/core/java/android/widget/EdgeEffect.java +++ b/core/java/android/widget/EdgeEffect.java @@ -68,6 +68,8 @@ public class EdgeEffect { // Minimum velocity that will be absorbed private static final int MIN_VELOCITY = 100; + // Maximum velocity, clamps at this value + private static final int MAX_VELOCITY = 10000; private static final float EPSILON = 0.001f; @@ -115,7 +117,7 @@ public class EdgeEffect { private static final float PULL_DISTANCE_ALPHA_GLOW_FACTOR = 1.1f; private static final int VELOCITY_EDGE_FACTOR = 8; - private static final int VELOCITY_GLOW_FACTOR = 16; + private static final int VELOCITY_GLOW_FACTOR = 12; private int mState = STATE_IDLE; @@ -283,10 +285,10 @@ public class EdgeEffect { */ public void onAbsorb(int velocity) { mState = STATE_ABSORB; - velocity = Math.max(MIN_VELOCITY, Math.abs(velocity)); + velocity = Math.min(Math.max(MIN_VELOCITY, Math.abs(velocity)), MAX_VELOCITY); mStartTime = AnimationUtils.currentAnimationTimeMillis(); - mDuration = 0.1f + (velocity * 0.03f); + mDuration = 0.15f + (velocity * 0.02f); // The edge should always be at least partially visible, regardless // of velocity. @@ -294,7 +296,7 @@ public class EdgeEffect { mEdgeScaleY = mEdgeScaleYStart = 0.f; // The glow depends more on the velocity, and therefore starts out // nearly invisible. - mGlowAlphaStart = 0.5f; + mGlowAlphaStart = 0.3f; mGlowScaleYStart = 0.f; // Factor the velocity by 8. Testing on device shows this works best to diff --git a/core/res/res/drawable-hdpi/overscroll_edge.png b/core/res/res/drawable-hdpi/overscroll_edge.png index 08fc022..1952e0e 100644 Binary files a/core/res/res/drawable-hdpi/overscroll_edge.png and b/core/res/res/drawable-hdpi/overscroll_edge.png differ diff --git a/core/res/res/drawable-hdpi/overscroll_glow.png b/core/res/res/drawable-hdpi/overscroll_glow.png index 8f0c2cb..45c0135 100644 Binary files a/core/res/res/drawable-hdpi/overscroll_glow.png and b/core/res/res/drawable-hdpi/overscroll_glow.png differ diff --git a/core/res/res/drawable-mdpi/overscroll_edge.png b/core/res/res/drawable-mdpi/overscroll_edge.png index 4c87a8b..baf2d0c 100644 Binary files a/core/res/res/drawable-mdpi/overscroll_edge.png and b/core/res/res/drawable-mdpi/overscroll_edge.png differ diff --git a/core/res/res/drawable-mdpi/overscroll_glow.png b/core/res/res/drawable-mdpi/overscroll_glow.png index 8389ef4..c6cddd4 100644 Binary files a/core/res/res/drawable-mdpi/overscroll_glow.png and b/core/res/res/drawable-mdpi/overscroll_glow.png differ diff --git a/core/res/res/drawable-xhdpi/overscroll_edge.png b/core/res/res/drawable-xhdpi/overscroll_edge.png index 4fe6c27..b5e6e61 100644 Binary files a/core/res/res/drawable-xhdpi/overscroll_edge.png and b/core/res/res/drawable-xhdpi/overscroll_edge.png differ diff --git a/core/res/res/drawable-xhdpi/overscroll_glow.png b/core/res/res/drawable-xhdpi/overscroll_glow.png index 75c3eb4..779c3a5 100644 Binary files a/core/res/res/drawable-xhdpi/overscroll_glow.png and b/core/res/res/drawable-xhdpi/overscroll_glow.png differ diff --git a/core/res/res/drawable-xxhdpi/overscroll_edge.png b/core/res/res/drawable-xxhdpi/overscroll_edge.png index 1a92737..734bfa7 100644 Binary files a/core/res/res/drawable-xxhdpi/overscroll_edge.png and b/core/res/res/drawable-xxhdpi/overscroll_edge.png differ diff --git a/core/res/res/drawable-xxhdpi/overscroll_glow.png b/core/res/res/drawable-xxhdpi/overscroll_glow.png index c187e95..dc1f279 100644 Binary files a/core/res/res/drawable-xxhdpi/overscroll_glow.png and b/core/res/res/drawable-xxhdpi/overscroll_glow.png differ -- cgit v1.1