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---------------