ScrollTo和ScrollBy的区别(用源码说话!非常简单)

阅读 30

2022-05-26

从源码可以看出,scrollBy内部调用了scrollTo,是在scrollTo的基础上进行的移动;顾名思义:scrollTo(x,y)那就是移向(x,y);scrollBy(x,y)就是在scrollTo的基础上在进行了移动!!

public void scrollBy(int x, int y) {
scrollTo(mScrollX + x, mScrollY + y);
}

public void scrollTo(int x, int y) {
if (mScrollX != x || mScrollY != y) {
int oldX = mScrollX;
int oldY = mScrollY;
mScrollX = x;
mScrollY = y;
invalidateParentCaches();
onScrollChanged(mScrollX, mScrollY, oldX, oldY);
if (!awakenScrollBars()) {
postInvalidateOnAnimation();
}
}
}


精彩评论(0)

0 0 举报