您的位置:首页 > 移动开发 > Android开发

Android控件——ListView——解决自动轮播跳转第一页流畅性问题

2015-03-14 22:46 309 查看
在做定时轮播图时,当图片轮播到最后一张图片时候,让它跳回第一张图片,有两种方式

假设图片总共5张,轮播到最后一张,itemID=4

1.如果预加载的下一张的itemID为0

@Override
public int getCount() {
<pre name="code" class="java">//设置数据适配器的item总数为<span style="font-family: Arial, Helvetica, sans-serif;">5个。</span>
return picList.size();}



<span style="font-size:24px;">currentPosition = (currentPosition+1)%picList.size();//当前(itemID+1)%<span style="font-family: Arial, Helvetica, sans-serif;">item总数</span></span>




这种方式产生的轮播效果为 itemID 4图>itemID 3图>itemID 2图>itemID 1图>itemID 0图

虽然也是一瞬间的跳转,但其间却轮播了4张图。而不是从itemID 4图>itemID 0图

2.如果预加载的下一张的itemID为5

@Override
public int getCount() {
//设置数据适配器的item总数为<span style="font-family: Arial, Helvetica, sans-serif;">Integer.MAX_VALUE个,相当于播不完了。</span>
return Integer.MAX_VALUE;
}


<span style="font-size:24px;">currentPosition = currentPosition+1;<span style="font-family: Arial, Helvetica, sans-serif;">//当前itemID直接在当前页</span><span style="font-family: Arial, Helvetica, sans-serif;">itemID+1</span></span>




这种方式产生的轮播效果为
itemID 4图>itemID 5图,但是图片下标通过picList.get(position%picList.size())的转换,实际轮播的还是itemID 0图的图。

因为5%5=0;

这样这种方式比第一种方式就会流畅多。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐