Scroller-弹性滑动

来源:互联网 发布:mac怎么看运行的程序 编辑:程序博客网 时间:2024/06/05 14:36

学习记录自《Android开发艺术探索》.

Scroller

弹性滑动对象,用于实现View的弹性滑动

private Scroller mScroller;    public MyView(Context context) {        this(context, null);    }    public MyView(Context context, AttributeSet attrs) {        this(context, attrs, 0);    }    public MyView(Context context, AttributeSet attrs, int defStyleAttr) {        super(context, attrs, defStyleAttr);        mScroller = new Scroller(context);    }    /**     * 缓慢滑动到指定位置     *     * @param destX     * @param destY     */    private void smoothScrollTo(int destX, int destY) {        int scrollX = getScrollX();// 当前view的左上角相对于母视图的左上角的X轴偏移量        int delta = destX - scrollX;        mScroller.startScroll(scrollX, 0, delta, 0, 1000);        invalidate();    }    @Override    public void computeScroll() {        if (mScroller.computeScrollOffset()) {//返回为true说明滚动尚未完成            scrollTo(mScroller.getCurrX(), mScroller.getCurrY());            postInvalidate();        }    }
0 0
原创粉丝点击