Android架构师谈:View-Pager-性能优化之-无限循环

博客探讨了两种实现ViewPager无限滑动的方法:一种通过设置大数限制并利用取余运算,另一种通过在首尾添加元素。第一种方法在实际应用中更优,避免了页面闪烁,但仅支持右滑。为实现左右滑,可通过设置初始位置解决。同时,文章提到了在实际开发中遇到的Fragment状态异常问题及解决方案,并分享了一份涵盖25个Java面试专题的资源链接。
摘要由CSDN通过智能技术生成

作者:享学课堂Alvin老师

转载请声明出处!

ViewPager实现无限滑动

**方案一:**将viewpager上限设置成一个很大的数,第一个页面设置到中间。然后滑动的时候,用当前的序号与viewpager页面数取余得到目标页面的序号,然后显示出来。理论上一个人不会无聊到一直左滑或者右滑。因此可以模拟无限循环。

**方案二:**假设viewpager中有四个页面,分别为A、B、C、D。然后在A左边添加一个页面D,在D右边添加一个页面A,变成 D、A、B、C、D、A。当滑到D时跳转到D,滑到A时跳转到A。

第一种并不是实现了真正意义上的无限循环,但是效果比较好,页面切换的时候也不会出现跳转闪烁的情况。

第二种虽然是真正的无限循环,但是需要在开头结尾添加元素,这样就会造成其他问题,比如图片下方跟随图片切换的小圆点的设置就会比较复杂。更新数据的时候也比较费劲。而且还会在切换页面时出现闪烁,影响用户体验。因此选择第一种实现方案。

第一种方案又会有两种实现:实现A,实现B

实现A:

实现过程:直接在getItem和 getCount中修改

@Override
public Fragment getItem(int i) {
	return fragmentList.get(i% fragmentList.size());
}
@Override
public int getCount() {
	return
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值