public final class ScrollerCompat
extends Object
java.lang.Object | |
↳ | android.support.v4.widget.ScrollerCompat |
可用时访问新的 Scroller
API。
这个类提供了一个平台版本无关的机制,用于服从当前设备的首选滚动物理和滑动行为。 它提供了Scroller或OverScroller的一部分API。
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
|
void abortAnimation ()
停止动画。 中止动画会导致滚动条移动到最终的x和y位置。
boolean computeScrollOffset ()
当你想知道新的位置时调用它。 如果它返回true,那么动画还没有完成。 loc将被改变以提供新的位置。
Returns | |
---|---|
boolean |
ScrollerCompat create (Context context, Interpolator interpolator)
Parameters | |
---|---|
context |
Context
|
interpolator |
Interpolator
|
Returns | |
---|---|
ScrollerCompat |
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. |
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. |
float getCurrVelocity ()
返回支持它的平台版本上的当前速度。
该设备必须至少支持API等级14(冰淇淋三明治)。 在较旧的平台版本上,此方法将返回0.此方法只能用作非必需视觉效果的输入,例如EdgeEffectCompat
。
Returns | |
---|---|
float |
The original velocity less the deceleration. Result may be negative. |
int getCurrX ()
返回滚动中的当前X偏移量。
Returns | |
---|---|
int |
The new X offset as an absolute distance from the origin. |
int getCurrY ()
返回滚动中的当前Y偏移量。
Returns | |
---|---|
int |
The new Y offset as an absolute distance from the origin. |
int getFinalX ()
Returns | |
---|---|
int |
The final X position for the scroll in progress, if known. |
int getFinalY ()
Returns | |
---|---|
int |
The final Y position for the scroll in progress, if known. |
boolean isFinished ()
返回滚动器是否完成滚动。
Returns | |
---|---|
boolean |
True if the scroller has finished scrolling, false otherwise. |
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. |
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. |
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. |
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. |
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. |
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. |