自定义控件—Scroller屏幕平缓滑动工具类

来源:互联网 发布:opta数据中文 编辑:程序博客网 时间:2024/06/05 12:02
#自定义控件—Scroller平缓滑动工具类
###系统提供的,用于处理平滑动工具类
###可根据当前时间节点获取这个节点要滚动到点的坐标 
    1.得到对象
    private Scroller scroller = new Scroller(getContext());
    
    2.设置滚动
        scroller.startScroll(int startX, int startY, int dx, int dy, int duration)
                参数详解:    
                startX 开始滚动的点X坐标
                startY 开始滚动的点Y坐标
                dx X方向要滚动的距离
                dy y方向要滚动的距离
                long: 滚动所需时间
    3.请求控件重新绘制
        invalidate();
    
    4.当控件的界面重绘的时候会调用
     
        @Override
        public void computeScroll() {
        //判断滚动有没有完成,返回true代表这个滚动还没有完成
            if(scroller.computeScrollOffset()){
            //根据当前时间节点获取这个节点要滚动到点的坐标
            int currX = scroller.getCurrX();
            scrollTo(currX, 0);
            invalidate();
            }
        }
###屏幕滑动的常用两个方法
    //相对于0,0移动的距离
    scrollTo(int x, int y)
    //相对于当前位置移动的距离
    scrollBy(int x, int y)
    //屏幕左上点的当前坐标
    getScrollX()
0 0