AbsListView小结

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计算出来的,。

猜你喜欢

转载自blog.csdn.net/b1480521874/article/details/88385772