弹性滑动典型代码

弹性滑动对象,用于实现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();
    }
}

你可能感兴趣的:(弹性滑动典型代码)