diff --git a/core/java/android/widget/Scroller.java b/core/java/android/widget/Scroller.java index 3a28e75e8823d..3bfd39d80baa2 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. + *
This class encapsulates scrolling. You can use scrollers ({@link Scroller} + * or {@link OverScroller}) to collect the data you need to produce a scrolling + * animation—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.
+ * + *Here is a simple example:
+ * + * 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();
+ * }
+ *
+ * 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:
+ * + *if (mScroller.computeScrollOffset()) {
+ * // Get current x and y positions
+ * int currX = mScroller.getCurrX();
+ * int currY = mScroller.getCurrY();
+ * ...
+ * }
*/
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.