天天看點

Scroller滑動對象

Scroller

彈性滑動對象,用于實作View的彈性滑動。

public class ViewDemo extends View {

    private final Context mContext;

    private final Scroller mScroller;

    public ViewDemo(Context context) {

        super(context);

        mContext = context;

        mScroller = new Scroller(mContext);

    }

    public void smoothScrollerTo(int destX, int destY) {

        int scrollX=mScroller.getCurrX();

        int delta=destX-scrollX;

        //1000ms慢慢滑動向delta

        mScroller.startScroll(scrollX,0,delta,0,1000);

    }

    @Override

    public void computeScroll() {

        if (mScroller.computeScrollOffset()){

            smoothScrollerTo(mScroller.getCurrX(),mScroller.getCurrY());

            postInvalidate();

        }

        super.computeScroll();

    }

}