最近由于项目需要,要实现一个横向滚动的列表,打算直接用HorizontalScrollView,但是因为没有视图复用,列表项多了之后会占用较多内存,排除;再想到用Gallery,但Gallery有一个自动定位到中央的动画效果,要去除这个效果的工作比较复杂。最后搜了一下找到了这个Android-HorizontalListView,实现了ListView的大部分功能,只是不支持Header、Footer和ScrollBar,项目要求提供Scroolbar的显示,所以就在上面动手吧,添加横向的Scrollbar。
ScrollBar作为一个基础功能被实现在View中,子类需要实现computeXXXScrollRange、computeXXXScrollExtent和computeXXXScrollOffset这三个方法,其中:
1、computeXXXScrollRange,计算滚动条的滚动范围
2、computeXXXScrollExtent,计算滑块显示的大小
3、computeXXXScrollOffset,计算滚动的偏移量,也就是当前滚动的位置
上面这三个方法返回的值都是相对值,