无限滑动控件
无限滑动控件的预期效果是添加有限个View实现无限滑动的效果。
我的实现是通过重写dispatchDraw,对canvas画布进行偏移达到无限滑动的效果。
效果如图:
github地址:https://github.com/BigPig-LittleTail/cyclePager
实现原理
一个View时
蓝色为绘制出的内容
灰色的为布局位置
黑色矩形框是显示的绘制内容
红色的坐标是canvas画布的坐标位置
图1,手指滑动前的屏幕中显示的绘制内容
图2,为了展示的更清楚,手指滑动中,实际上对canvas做的偏移和切割。(超出屏幕的位置实际上不会被绘制,实际上看到的