getScrollY()是自定义View中的常客,但是由于android特有的坐标系以及屏幕与View之间的复杂关系,往往是分析和看源码的难点,这里结合示意图帮助理解getScrollY,一劳永逸。
名词理解
首先我们需要了解清楚几个概念,就是我们经常看到的向上/下滚动以及上/下滑这四个名词:
!!!记住滚动和滑动在android中的含义是不同的!!!
上滑/下滑是我们手指相对于整个屏幕而言的,手指从屏幕上方滑动到下方,称为下滑,反之称为上滑。
向上/下滚动一般是View相对于屏幕而言的,我们假定下面左图中的场景:
当我们说向上滚动时,意味着我们可以看到View的上半部分,所以相对于屏幕来说View整体下移,也即手指触摸点下移,可以看作是手指拉着View的内容向下移动,也即下滑,如上右图。
所以所说的向上滚动对应着下滑,而向下滚动对应着上滑。