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();
}
}
}