1.滚动时,无论时FlingMode还是ScrollMode,最终都是调用trackMotionScroll(),其中包括了View回收的计算及执行,trackMotionScroll()使用了offsetChildrenTopAndBottom()对children做坐标变换。
2.ScrollMode时,主要调用scrollIfNeeded(int x, int y, MotionEvent vtev)完成滚动,其中调用了trackMotionScroll,就是让界面跟着手指移动,所以没有滚动动画,比FlingMode简单一点。
3.FlingMode时,每一帧主要是在FlingRunnable的run()中完成,其中也调用了trackMotionScroll(),而trackMotionScroll的参数是由OverScroller计算出来的,。