当前位置: 代码迷 >> Android >> 2014.01.21(二)——— android开发实例之viewpager无限循环+自动滚动
  详细解决方案

2014.01.21(二)——— android开发实例之viewpager无限循环+自动滚动

热度:71   发布时间:2016-04-28 06:57:21.0
2014.01.21(2)——— android开发实例之viewpager无限循环+自动滚动
2014.01.21(2)——— android开发实例之viewpager无限循环+自动滚动




1、用到了一个开源库,但是没有用library的方式,我把代码内嵌进去了

详见:https://github.com/JakeWharton/Android-ViewPagerIndicator

2、关于无限循环
原理 http://www.cnblogs.com/xinye/archive/2013/06/09/3129140.html
不再细说 就说下代码中注意的

private void setData(){        mArrData.add(R.drawable.sample_7);        mArrData.add(R.drawable.sample_0);        mArrData.add(R.drawable.sample_1);        mArrData.add(R.drawable.sample_2);        mArrData.add(R.drawable.sample_3);        mArrData.add(R.drawable.sample_4);        mArrData.add(R.drawable.sample_5);        mArrData.add(R.drawable.sample_6);        mArrData.add(R.drawable.sample_7);        mArrData.add(R.drawable.sample_0);    }

首尾都多添加一个数据

3、关于自动滚动
参考:http://my.oschina.net/javalover/blog/179003

但是 这样写了之后 手动滑动的话 就不是很理想,手动的时候 太慢了 而且不根据滑动的距离和速度,参考viewpager的源码,给自定义Scroller稍做修改
private static final Interpolator sInterpolator = new Interpolator() {        public float getInterpolation(float t) {            t -= 1.0f;            return t * t * t * t * t + 1.0f;        }    };FixedSpeedScroller scroller = new FixedSpeedScroller(mViewPager.getContext(),                    sInterpolator);




效果图如下:




代码见附件



  相关解决方案