我正在尝试创建一个列表视图来垂直显示图像。当用户滚动到列表末尾时,我想知道是否有办法在列表视图中重复图像。例如,如果列表有 3 个图像,在向下滚动到第三个和最后一个图像后,相同的图像应该再次以 1,2,3 的顺序重复。所以请给观众一个循环重复的效果。除了列表视图还有其他选择吗?
感谢任何建议。
您可以使用自定义适配器来实现该效果。
CommonsWare 制作了一个,如果您愿意,您可以重复使用:cwac-endless
如果您想自己创建它,您当然也可以这样做。在您的适配器内部,您需要做的是Integer.MAX_VALUE
从getCount()
方法返回。
然后在您的getView()
使用模数中将较大的数字“转换”为您实际拥有的项目数量范围内的一个。即,如果您有一组图像 id,您可以在 getView() 中执行以下操作:
mImgView.setImageResource(imgs[pos % 3]);
实际上,您可以在 getItem() 而不是 getView() 内部进行模数,这可能是一个更好的主意。