scrollListItemsBy()这个函数在滑动的时候被调用,他的输入参数是滑动的距离amount,功能在滑动的时候增加新的Item项目并将滑出去的item保存起来放到mRecycler里面去。
首先调用offsetChildrenTopAndBottom()调整所有view的top和bottom到新的位置。然后一个个增加item直到增加的item的top/bottom超过list目前的top/bottom,即超出lisviewt的大小。最后将移出去的部分的回收放到ScrapView中去。
所以如果一个listview有几万个item的话其实是不会创建几万个item的布局的,他就创建屏幕大小加上最大滑动距离那么多个item,最多放这么多到mRecycler里保存,之后回收使用这些item。