• 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轴的位移。第一个方法是重构的,多传递一个滚动时间的参数。
    startX 或者startY 不是一般的X Y的坐标,是移动的位移,是相对的。可以用getScrollX 得到当前View的位移, dx  为负则往右移动  为正则往左移动

    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,表示动画还没有结束。位置改变以提供一个新的位置。




     

























  • 相关阅读:
    Android--Facebook Login with LoginButton
    Android--Bitmap处理、圆角、圆形
    Android--打开指定程序(微博/微信/QQ等)
    Android--Google Map API V2使用
    关于Reportviewer
    Oracle Clob使用
    ASPNET WebForm T1453工作记录
    Oracle脚本批量导入时,输出日志文件
    Easyui DataGrid Editor
    Oracle 更改数据2中方式差异
  • 原文地址:https://www.cnblogs.com/flyme2012/p/4047409.html
Copyright © 2020-2023  润新知