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

在做定时轮播图时,当图片轮播到最后一张图片时候,让它跳回第一张图片,有两种方式

假设图片总共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;

这样这种方式比第一种方式就会流畅多。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值