View中scrollTo() scrollBy() getScrollX() getScrollY()
// scrollTo与scrollBy滑动的都是view的内容
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();
}
}
}
public void scrollBy(int x, int y) {
scrollTo(mScrollX + x, mScrollY + y);
}
// getScrollX()与getScrollY()获取的是相对于父容器的偏移量
public final int getScrollX() {
return mScrollX;
}
public final int getScrollY() {
return mScrollY;
}
// 改变View在屏幕上的位置
public void offsetLeftAndRight(int offset)
public void offsetTopAndBottom(int offset)