Viewpager实现真正的无限滑动,拒绝Integer.MAX_VALUE

本文介绍了如何在Android中使用ViewPager实现真正的无限滑动,避免使用Integer.MAX_VALUE。通过在Adapter中调整获取图片的数量和位置,确保滑动过程流畅且无卡顿。详细代码和逻辑解释帮助理解这一实现方法。
摘要由CSDN通过智能技术生成

Banner大家都不陌生,用于app首页轮播显示图片,并能无限轮播,这个效果一般有三种写法

  1. ViewPager设置Integer.MAX_VALUE,这也是大多数博客文章里的写法。
  2. 同样是使用ViewPager,但是getCount返回值不用为Integer.MAX_VALUE,只需返回图片数量+2

  3. 第三种就是自己自定义view了,这个好难,需要自己写滑动和手势速度判断,能写出来基本自定义view已经学的很6了。

这里我用的就是第二种方案,效果图如下:
这里写图片描述
上图可以看到,我一开始就是向左滑动的,显示的就是最后一张,一般采用MAX_VALUE写的话就是把当前item设置为MAX_VALUE的中间值来达到一开始就能向左滑动的目的,而且图中可以看到过程不存在卡顿,下面上代码主要实现方式,主要的实现方法都在adapter里面。

  private class BannerAdapter extends PagerAdapter  {
   

        private LayoutInflater mInflater;

        public BannerAdapter(Context context) {
            mInflater = LayoutInflater.from(context);
        }

        @Override
        public int 
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值