Scroller滑动原理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/JerryWu145/article/details/87632025

scroller本身并不能实现view的滑动,scroller方法中的startscroll中并没有做过多的操作,真正起作用的是startscroll方法下面的的invalidate

方法,因为invalidate方法会引起view的重绘, 而view的draw方法中又会调用computescroll方法,而这个方法是一个空实现,所以如果想要view发生滑动,那么需要重写这个computescroll方法

而mscroller.computescrolloffset返回值是一个boolean,这个值为true时,说明滑动不该终止,若为false说明滑动已经终止,所以需要在为true时做处理。并且这个方法内部会根据当前时间和差值器(即我们人为给他设置的动画效果差值器)来给currX和currY做设置,我们只需要从scroller中拿到currXcurrY即可

设置完后重新调用invalidate

即又开始下一和个时间段的滑动

猜你喜欢

转载自blog.csdn.net/JerryWu145/article/details/87632025