ScrollBy和ScrollTo都是view的方法,二者有很大的不同。
1.public void scrollBy(int x, int y) ; 它是移动view的内容,它其实调用了ScrollTo方法。
源码:
public void scrollBy(int x, int y) {
scrollTo(mScrollX + x, mScrollY + y);
}
2.public void scrollTo(int x, int 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();
}
}
}