首页 > 代码库 > 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滚动到最终x与y位置时中止动画。
参见
forceFinished(boolean)
public boolean computeScrollOffset ()
当想要知道新的位置时,调用此函数。如果返回true,表示动画还没有结束。位置改变以提供一个新的位置。
一部分参考:http://www.cnblogs.com/over140/archive/2010/12/16/1907528.html
来自为知笔记(Wiz)
android api 之Scroller
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。