Banner大家都不陌生,用于app首页轮播显示图片,并能无限轮播,这个效果一般有三种写法
- ViewPager设置Integer.MAX_VALUE,这也是大多数博客文章里的写法。
同样是使用ViewPager,但是getCount返回值不用为Integer.MAX_VALUE,只需返回图片数量+2
第三种就是自己自定义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