scroller的弹性滑动学习的坑

下面是scroller的经典写法 但是滑动的是控件的内容,不是控件本身

真的不是本身,控件最好带上颜色,和内容区分开,这样看的会更明显

@SuppressLint("AppCompatCustomView")
public class scrollerView extends TextView{
    private final Scroller mScroller;

    public scrollerView(Context context) {
        this(context,null);
    }

    public scrollerView(Context context, @Nullable AttributeSet attrs) {
        this(context, attrs,0);
    }

    public scrollerView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
        mScroller = new Scroller(context);
    }

    /**
     * 下面是scroller的经典写法 但是滑动的是控件的内容,不是控件本身
     */
    public  void smoothScrollTo(int  destX ,int destY){
        int scaleX = getScrollX();
        int delta = -Math.abs(destX - scaleX);//正向滑动
        mScroller.startScroll(scaleX,0,delta,0,2000);
        invalidate();
    }

    @Override
    public void computeScroll() {
        super.computeScroll();
        if(mScroller.computeScrollOffset()){
            scrollTo(mScroller.getCurrX(),mScroller.getCurrY());
            postInvalidate();
        }
    }
}

最后欢迎加入Kotlin QQ群,一起讨论学习:

Paste_Image.png

欢迎关注 微信公号

android频道

你可能感兴趣的:(scroller的弹性滑动学习的坑)