Most visited

Recently visited

ScrollerCompat

public final class ScrollerCompat
extends Object

java.lang.Object
   ↳ android.support.v4.widget.ScrollerCompat


可用时访问新的 Scroller API。

这个类提供了一个平台版本无关的机制,用于服从当前设备的首选滚动物理和滑动行为。 它提供了Scroller或OverScroller的一部分API。

Summary

Public methods

void abortAnimation()

停止动画。

boolean computeScrollOffset()

当你想知道新的位置时调用它。

static ScrollerCompat create(Context context, Interpolator interpolator)
static ScrollerCompat create(Context context)
void fling(int startX, int startY, int velocityX, int velocityY, int minX, int maxX, int minY, int maxY)

基于一个扔手势开始滚动。

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

基于一个扔手势开始滚动。

float getCurrVelocity()

返回支持它的平台版本上的当前速度。

int getCurrX()

返回滚动中的当前X偏移量。

int getCurrY()

返回滚动中的当前Y偏移量。

int getFinalX()
int getFinalY()
boolean isFinished()

返回滚动器是否完成滚动。

boolean isOverScrolled()

返回当前Scroller当前是否返回有效位置。

void notifyHorizontalEdgeReached(int startX, int finalX, int overX)

通知滚动条我们已经达到了水平边界。

void notifyVerticalEdgeReached(int startY, int finalY, int overY)

通知滚动器我们已达到垂直边界。

boolean springBack(int startX, int startY, int minX, int maxX, int minY, int maxY)

当你想'回弹'到有效的坐标范围内时调用它。

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

通过提供起始点和距离来开始滚动。

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

通过提供起始点和距离来开始滚动。

Inherited methods

From class java.lang.Object

Public methods

abortAnimation

void abortAnimation ()

停止动画。 中止动画会导致滚动条移动到最终的x和y位置。

computeScrollOffset

boolean computeScrollOffset ()

当你想知道新的位置时调用它。 如果它返回true,那么动画还没有完成。 loc将被改变以提供新的位置。

Returns
boolean

create

ScrollerCompat create (Context context, 
                Interpolator interpolator)

Parameters
context Context
interpolator Interpolator
Returns
ScrollerCompat

create

ScrollerCompat create (Context context)

Parameters
context Context
Returns
ScrollerCompat

fling

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

基于一个扔手势开始滚动。 行进的距离将取决于投掷的初始速度。

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

fling

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

基于一个扔手势开始滚动。 行进的距离将取决于投掷的初始速度。

Parameters
startX int: Starting point of the scroll (X)
startY int: Starting point of the scroll (Y)
velocityX int: Initial velocity of the fling (X) measured in pixels per second.
velocityY int: Initial velocity of the fling (Y) measured in pixels per second
minX int: Minimum X value. The scroller will not scroll past this point.
maxX int: Maximum X value. The scroller will not scroll past this point.
minY int: Minimum Y value. The scroller will not scroll past this point.
maxY int: Maximum Y value. The scroller will not scroll past this point.
overX int: Overfling range. If > 0, horizontal overfling in either direction will be possible.
overY int: Overfling range. If > 0, vertical overfling in either direction will be possible.

getCurrVelocity

float getCurrVelocity ()

返回支持它的平台版本上的当前速度。

该设备必须至少支持API等级14(冰淇淋三明治)。 在较旧的平台版本上,此方法将返回0.此方法只能用作非必需视觉效果的输入,例如EdgeEffectCompat

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

getCurrX

int getCurrX ()

返回滚动中的当前X偏移量。

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

getCurrY

int getCurrY ()

返回滚动中的当前Y偏移量。

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

getFinalX

int getFinalX ()

Returns
int The final X position for the scroll in progress, if known.

getFinalY

int getFinalY ()

Returns
int The final Y position for the scroll in progress, if known.

isFinished

boolean isFinished ()

返回滚动器是否完成滚动。

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

isOverScrolled

boolean isOverScrolled ()

返回当前Scroller当前是否返回有效位置。 有效边界由fling(int, int, int, int, int, int, int, int, int, int)方法提供。 在调用startScroll(int, int, int, int)之前,应检查此值,因为当前正在进行的插值将恢复有效位置,然后停止。 来电者必须考虑到开始滚动将从超滚动位置开始的事实。

Returns
boolean true when the current position is overscrolled and in the process of interpolating back to a valid value.

notifyHorizontalEdgeReached

void notifyHorizontalEdgeReached (int startX, 
                int finalX, 
                int overX)

通知滚动条我们已经达到了水平边界。 通常情况下,动画启动时已经知道处理这些信息,例如在对其中一个函数的调用中。 但有些情况下,这种情况不能预先知道。 此功能将根据需要将当前动作和动画从startX转换为finalX。

Parameters
startX int: Starting/current X position
finalX int: Desired final X position
overX int: Magnitude of overscroll allowed. This should be the maximum desired distance from finalX. Absolute value - must be positive.

notifyVerticalEdgeReached

void notifyVerticalEdgeReached (int startY, 
                int finalY, 
                int overY)

通知滚动器我们已达到垂直边界。 通常情况下,动画启动时已经知道处理这些信息,例如在对其中一个函数的调用中。 但有些情况下,这种情况不能预先知道。 此函数将动画从startY到finalY的抛物线运动。

Parameters
startY int: Starting/current Y position
finalY int: Desired final Y position
overY int: Magnitude of overscroll allowed. This should be the maximum desired distance from finalY. Absolute value - must be positive.

springBack

boolean springBack (int startX, 
                int startY, 
                int minX, 
                int maxX, 
                int minY, 
                int maxY)

当你想'回弹'到有效的坐标范围内时调用它。

Parameters
startX int: Starting X coordinate
startY int: Starting Y coordinate
minX int: Minimum valid X value
maxX int: Maximum valid X value
minY int: Minimum valid Y value
maxY int: Maximum valid Y value
Returns
boolean true if a springback was initiated, false if startX and startY were already within the valid range.

startScroll

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

通过提供起始点和距离来开始滚动。

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

startScroll

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

通过提供起始点和距离来开始滚动。 滚动将在持续时间内使用默认值250毫秒。

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

Hooray!