summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKatie McCormick <kmccormick@google.com>2013-02-08 01:14:47 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-02-08 01:14:47 +0000
commit0e66f16abd651bdf5833f4aede4899e627d7b333 (patch)
tree73f50f360beb92f31fbc395054893bfc3cb8b722
parent89fafaeae73cc265f13775944ccb2841bbc6766c (diff)
parent87cfad7d742c8fae1ac268168e2ada286d330ef1 (diff)
downloadbase-0e66f16abd651bdf5833f4aede4899e627d7b333.tar.gz
Merge "Doc change: Scroller Javadoc Bug # 7966653" into jb-mr1-dev
-rw-r--r--core/java/android/widget/Scroller.java44
1 files changed, 36 insertions, 8 deletions
diff --git a/core/java/android/widget/Scroller.java b/core/java/android/widget/Scroller.java
index 3a28e75e8823..3bfd39d80baa 100644
--- a/core/java/android/widget/Scroller.java
+++ b/core/java/android/widget/Scroller.java
@@ -26,11 +26,39 @@ import android.view.animation.Interpolator;
/**
- * This class encapsulates scrolling. The duration of the scroll
- * can be passed in the constructor and specifies the maximum time that
- * the scrolling animation should take. Past this time, the scrolling is
- * automatically moved to its final stage and computeScrollOffset()
- * will always return false to indicate that scrolling is over.
+ * <p>This class encapsulates scrolling. You can use scrollers ({@link Scroller}
+ * or {@link OverScroller}) to collect the data you need to produce a scrolling
+ * animation&mdash;for example, in response to a fling gesture. Scrollers track
+ * scroll offsets for you over time, but they don't automatically apply those
+ * positions to your view. It's your responsibility to get and apply new
+ * coordinates at a rate that will make the scrolling animation look smooth.</p>
+ *
+ * <p>Here is a simple example:</p>
+ *
+ * <pre> private Scroller mScroller = new Scroller(context);
+ * ...
+ * public void zoomIn() {
+ * // Revert any animation currently in progress
+ * mScroller.forceFinished(true);
+ * // Start scrolling by providing a starting point and
+ * // the distance to travel
+ * mScroller.startScroll(0, 0, 100, 0);
+ * // Invalidate to request a redraw
+ * invalidate();
+ * }</pre>
+ *
+ * <p>To track the changing positions of the x/y coordinates, use
+ * {@link #computeScrollOffset}. The method returns a boolean to indicate
+ * whether the scroller is finished. If it isn't, it means that a fling or
+ * programmatic pan operation is still in progress. You can use this method to
+ * find the current offsets of the x and y coordinates, for example:</p>
+ *
+ * <pre>if (mScroller.computeScrollOffset()) {
+ * // Get current x and y positions
+ * int currX = mScroller.getCurrX();
+ * int currY = mScroller.getCurrY();
+ * ...
+ * }</pre>
*/
public class Scroller {
private int mMode;
@@ -272,8 +300,7 @@ public class Scroller {
/**
* Call this when you want to know the new location. If it returns true,
- * the animation is not yet finished. loc will be altered to provide the
- * new location.
+ * the animation is not yet finished.
*/
public boolean computeScrollOffset() {
if (mFinished) {
@@ -355,7 +382,8 @@ public class Scroller {
}
/**
- * Start scrolling by providing a starting point and the distance to travel.
+ * Start scrolling by providing a starting point, the distance to travel,
+ * and the duration of the scroll.
*
* @param startX Starting horizontal scroll offset in pixels. Positive
* numbers will scroll the content to the left.