android Scroller

参考:http://www.linuxidc.com/Linux/2016-01/127276.htm

以前只知道怎么使用scroller,照猫画虎,复制粘贴。今天遇到使用scroller,还是要去搜索。这样不行,要搞懂原理。
上面的博客写的很漂亮。

1.Scroller到底是什么?

答:Scroller只是个计算器,提供插值计算,让滚动过程具有动画属性,但它并不是UI,也不是辅助UI滑动,反而是单纯地为滑动提供计算。

2.Scroller只是提供计算,那谁来调用computeScroll使得ViewGroup滑动

答:computeScroll也不是来让ViewGroup滑动的,真正让ViewGroup滑动的是scrollTo,scrollBy。computeScroll的作用是计算ViewGroup如何滑动。而computeScroll是通过draw来调用的。

在这里我想说一下,scroller 的工作流程,首先,你创建一个scroller,然后你在computerScroll 里面调用scroller 去计算当前应该滚动到的坐标位置。然后scrollTo 或者offsetLeftAndRight 去使view滚动。

那么谁会调用computerScroll 呢?onDraw的时候,父View 会调用。

加油,慢慢积累,万物始于简单。one day,i will be 大神。

原文地址:https://www.cnblogs.com/caoxinyu/p/10568576.html