diff options
| author | Mindy Pereira <mindyp@google.com> | 2010-10-07 14:29:03 -0700 |
|---|---|---|
| committer | Mindy Pereira <mindyp@google.com> | 2010-10-07 15:12:56 -0700 |
| commit | 4de94de9c5ad18e1162fa30dd1149211485297c0 (patch) | |
| tree | c948d010d3049c92c6b83e454064973d802096c1 /core/java/android | |
| parent | a1bf0a06b26ecc039adfdb98eab6fb984d5d5571 (diff) | |
DO NOT MERGE Only show edge glow effect on 1 side at a time.
Pulling on a side should force the opposite side into "decay".
Fixes b/3061753 new list "bounce" shouldn't show on both ends
This fixes scroller and horizontalscroller.
Change-Id: I4d9820c7178378b793ed9a29b119943eb1f46587
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/widget/HorizontalScrollView.java | 6 | ||||
| -rw-r--r-- | core/java/android/widget/ScrollView.java | 6 |
2 files changed, 12 insertions, 0 deletions
diff --git a/core/java/android/widget/HorizontalScrollView.java b/core/java/android/widget/HorizontalScrollView.java index 6a52f75a1ea6..d38eef3b9777 100644 --- a/core/java/android/widget/HorizontalScrollView.java +++ b/core/java/android/widget/HorizontalScrollView.java @@ -542,8 +542,14 @@ public class HorizontalScrollView extends FrameLayout { final int pulledToX = oldX + deltaX; if (pulledToX < 0) { mEdgeGlowLeft.onPull((float) deltaX / getWidth()); + if (!mEdgeGlowRight.isFinished()) { + mEdgeGlowRight.onRelease(); + } } else if (pulledToX > range) { mEdgeGlowRight.onPull((float) deltaX / getWidth()); + if (!mEdgeGlowLeft.isFinished()) { + mEdgeGlowLeft.onRelease(); + } } } } diff --git a/core/java/android/widget/ScrollView.java b/core/java/android/widget/ScrollView.java index 0337b5c1f222..1daf2abfa79c 100644 --- a/core/java/android/widget/ScrollView.java +++ b/core/java/android/widget/ScrollView.java @@ -537,8 +537,14 @@ public class ScrollView extends FrameLayout { final int pulledToY = oldY + deltaY; if (pulledToY < 0) { mEdgeGlowTop.onPull((float) deltaY / getHeight()); + if (!mEdgeGlowBottom.isFinished()) { + mEdgeGlowBottom.onRelease(); + } } else if (pulledToY > range) { mEdgeGlowBottom.onPull((float) deltaY / getHeight()); + if (!mEdgeGlowTop.isFinished()) { + mEdgeGlowTop.onRelease(); + } } } } |
