Scroller

参考 Android 8.0 源码

/framework/base/core/java/android/widget/Scroller.java

基本简介

  弹性滑动对象,用于实现View的弹性滑动。View中有两个方法scrollTo()和scrollBy()方法进行滑动,但是这两个方法的过程是瞬间完成的。我们可以使用Scroller来实现有过渡效果的滑动,这样滑动过程就不是瞬间完成的,而是在一定时间间隔内完成的。Scroller本身无法让View弹性滑动,它需要和View的computeScroll()方法配合使用才能共同完成滑动。

  使用方式是固定的,如下:

Scroller scroller = new Scroller(context);

//缓慢滚动到指定位置;
private void smoothScrollTo(int destX,int destY){
    int scrollX = getScrollX();
    int scrollY = getScrollY();
    //1000ms内慢慢滑向destX位置;
    scroller.startScroll(scrollX,0,delta,0,1000);
    invalidate();
}

@Override
public void computeScroll(){
    if(scroller.computeScrollOffset()){
        scrollTo(scroller.getCurrX(),scroller.getCurrY());
        postInvalidate();
    }
}

-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-----------------last line for now---------------