首页 > 代码库 > android api 之Scroller

android api 之Scroller

Scroller是封装了滚动,实现View和ViewGroup的背景画布的滚动。
它有两个构造方法:

public Scroller (Context context)  

传递一个上下文。

public Scroller (Context context, Interpolator interpolator)

传递一个上下文,一个自定义的滚动方式。控制快慢程度的。



Scroller的主要方法有:

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

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

开始滚动,传递开始的坐标,和X Y轴的位移。第一个方法是重构的,多传递一个滚动时间的参数。

public final int getDuration ()

获取一共滚动的时间。如果没有传递运动时间进去,则默认的是250ms

public final int getCurrX ()

public final int getCurrY ()

这两个方法按照字面意思可以理解,获取当前的坐标的X Y。

public final int getStartX ()

public final int getStartY ()

获取开始滚动时的X Y 坐标


public final int getFinalX ()

public final int getFinalY ()

获取最终的X Y 坐标

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

在fling ( 快滑,用户按下触摸屏、快速移动后松开 ) 手势基础上开始滚动。滚动的距离取决于fling的初速度。

public final boolean isFinished ()

返回scroller是否已完成滚动。

public int timePassed ()

已经滚动了多长时间了。


public void extendDuration (int extend)

  延长滚动动画时间。此函数允许当使用setFinalX(int) or setFinalY(int) 时,卷动动作持续更长时间并且卷动更长距离。

          参数

              extend 卷动事件延长的时间,以毫秒为单位

          参见

              setFinalX(int)

              setFinalY(int)


public final void forceFinished (boolean finished)

  强制终止的字段到特定值。(译者注:立即停止滚动?)

      参数

          finished    新的结束值

 

public void abortAnimation ()

  停止动画。与forceFinished(boolean)相反,Scroller滚动到最终xy位置时中止动画。

  参见

        forceFinished(boolean)


  public boolean computeScrollOffset ()

  当想要知道新的位置时,调用此函数。如果返回true,表示动画还没有结束。位置改变以提供一个新的位置。




一部分参考:http://www.cnblogs.com/over140/archive/2010/12/16/1907528.html
 























来自为知笔记(Wiz)


android api 之Scroller