弹性滑动对象,用于实现View的弹性滑动,我们知道,当使用view的scrollto/scrollBy的方法来进行滑动,其过程是瞬间完后才能的,这个没有过度效果的滑动用户体验不好,这个时候用户可以使用Scroller来实现有过度效果的滑动,其过程不是瞬间完成的,而是在一定的时间间隔内完成的,Scroller本事无法让view弹性滑动,他需要和View的computeScroll方法配合使用才能共同完成这个功能,
Scroller scroller = new Scroller(mContext);
//缓慢滚动到指定位置
private void smoothScrollTo(int destX,int destY){
int scrollX=getScrollx();
int delta=destX- scrollX;
//1000ms内滑向destX,效果就是慢慢滑动
mScroller.startScroll(scrollX,0,delta,0,1000);
invalidate();
}
@override
public void computeScroll(){
if(mScroller.computeScrollOffset()){
scrollTo(mScroller.getCurrX(),mScroller.getCurrY());
postInvalidate();
}
}