to top
Android APIs
public class

Scroller

extends Object
java.lang.Object
   ↳ android.widget.Scroller

Class Overview

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.

Summary

Public Constructors
Scroller(Context context)
Create a Scroller with the default duration and interpolator.
Scroller(Context context, Interpolator interpolator)
Create a Scroller with the specified interpolator.
Scroller(Context context, Interpolator interpolator, boolean flywheel)
Create a Scroller with the specified interpolator.
Public Methods
void abortAnimation()
Stops the animation.
boolean computeScrollOffset()
Call this when you want to know the new location.
void extendDuration(int extend)
Extend the scroll animation.
void fling(int startX, int startY, int velocityX, int velocityY, int minX, int maxX, int minY, int maxY)
Start scrolling based on a fling gesture.
final void forceFinished(boolean finished)
Force the finished field to a particular value.
float getCurrVelocity()
Returns the current velocity.
final int getCurrX()
Returns the current X offset in the scroll.
final int getCurrY()
Returns the current Y offset in the scroll.
final int getDuration()
Returns how long the scroll event will take, in milliseconds.
final int getFinalX()
Returns where the scroll will end.
final int getFinalY()
Returns where the scroll will end.
final int getStartX()
Returns the start X offset in the scroll.
final int getStartY()
Returns the start Y offset in the scroll.
final boolean isFinished()
Returns whether the scroller has finished scrolling.
void setFinalX(int newX)
Sets the final position (X) for this scroller.
void setFinalY(int newY)
Sets the final position (Y) for this scroller.
final void setFriction(float friction)
The amount of friction applied to flings.
void startScroll(int startX, int startY, int dx, int dy)
Start scrolling by providing a starting point and the distance to travel.
void startScroll(int startX, int startY, int dx, int dy, int duration)
Start scrolling by providing a starting point and the distance to travel.
int timePassed()
Returns the time elapsed since the beginning of the scrolling.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public Scroller (Context context)

Since: API Level 1

Create a Scroller with the default duration and interpolator.

public Scroller (Context context, Interpolator interpolator)

Since: API Level 1

Create a Scroller with the specified interpolator. If the interpolator is null, the default (viscous) interpolator will be used. "Flywheel" behavior will be in effect for apps targeting Honeycomb or newer.

public Scroller (Context context, Interpolator interpolator, boolean flywheel)

Since: API Level 11

Create a Scroller with the specified interpolator. If the interpolator is null, the default (viscous) interpolator will be used. Specify whether or not to support progressive "flywheel" behavior in flinging.

Public Methods

public void abortAnimation ()

Since: API Level 1

Stops the animation. Contrary to forceFinished(boolean), aborting the animating cause the scroller to move to the final x and y position

public boolean computeScrollOffset ()

Since: API Level 1

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.

public void extendDuration (int extend)

Since: API Level 1

Extend the scroll animation. This allows a running animation to scroll further and longer, when used with setFinalX(int) or setFinalY(int).

Parameters
extend Additional time to scroll in milliseconds.

public void fling (int startX, int startY, int velocityX, int velocityY, int minX, int maxX, int minY, int maxY)

Since: API Level 1

Start scrolling based on a fling gesture. The distance travelled will depend on the initial velocity of the fling.

Parameters
startX Starting point of the scroll (X)
startY Starting point of the scroll (Y)
velocityX Initial velocity of the fling (X) measured in pixels per second.
velocityY Initial velocity of the fling (Y) measured in pixels per second
minX Minimum X value. The scroller will not scroll past this point.
maxX Maximum X value. The scroller will not scroll past this point.
minY Minimum Y value. The scroller will not scroll past this point.
maxY Maximum Y value. The scroller will not scroll past this point.

public final void forceFinished (boolean finished)

Since: API Level 1

Force the finished field to a particular value.

Parameters
finished The new finished value.

public float getCurrVelocity ()

Since: API Level 14

Returns the current velocity.

Returns
  • The original velocity less the deceleration. Result may be negative.

public final int getCurrX ()

Since: API Level 1

Returns the current X offset in the scroll.

Returns
  • The new X offset as an absolute distance from the origin.

public final int getCurrY ()

Since: API Level 1

Returns the current Y offset in the scroll.

Returns
  • The new Y offset as an absolute distance from the origin.

public final int getDuration ()

Since: API Level 1

Returns how long the scroll event will take, in milliseconds.

Returns
  • The duration of the scroll in milliseconds.

public final int getFinalX ()

Since: API Level 1

Returns where the scroll will end. Valid only for "fling" scrolls.

Returns
  • The final X offset as an absolute distance from the origin.

public final int getFinalY ()

Since: API Level 1

Returns where the scroll will end. Valid only for "fling" scrolls.

Returns
  • The final Y offset as an absolute distance from the origin.

public final int getStartX ()

Since: API Level 3

Returns the start X offset in the scroll.

Returns
  • The start X offset as an absolute distance from the origin.

public final int getStartY ()

Since: API Level 3

Returns the start Y offset in the scroll.

Returns
  • The start Y offset as an absolute distance from the origin.

public final boolean isFinished ()

Since: API Level 1

Returns whether the scroller has finished scrolling.

Returns
  • True if the scroller has finished scrolling, false otherwise.

public void setFinalX (int newX)

Since: API Level 1

Sets the final position (X) for this scroller.

Parameters
newX The new X offset as an absolute distance from the origin.

public void setFinalY (int newY)

Since: API Level 1

Sets the final position (Y) for this scroller.

Parameters
newY The new Y offset as an absolute distance from the origin.

public final void setFriction (float friction)

Since: API Level 11

The amount of friction applied to flings. The default value is getScrollFriction().

Parameters
friction A scalar dimension-less value representing the coefficient of friction.

public void startScroll (int startX, int startY, int dx, int dy)

Since: API Level 1

Start scrolling by providing a starting point and the distance to travel. The scroll will use the default value of 250 milliseconds for the duration.

Parameters
startX Starting horizontal scroll offset in pixels. Positive numbers will scroll the content to the left.
startY Starting vertical scroll offset in pixels. Positive numbers will scroll the content up.
dx Horizontal distance to travel. Positive numbers will scroll the content to the left.
dy Vertical distance to travel. Positive numbers will scroll the content up.

public void startScroll (int startX, int startY, int dx, int dy, int duration)

Since: API Level 1

Start scrolling by providing a starting point and the distance to travel.

Parameters
startX Starting horizontal scroll offset in pixels. Positive numbers will scroll the content to the left.
startY Starting vertical scroll offset in pixels. Positive numbers will scroll the content up.
dx Horizontal distance to travel. Positive numbers will scroll the content to the left.
dy Vertical distance to travel. Positive numbers will scroll the content up.
duration Duration of the scroll in milliseconds.

public int timePassed ()

Since: API Level 1

Returns the time elapsed since the beginning of the scrolling.

Returns
  • The elapsed time in milliseconds.