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);
效果图如下:
代码见附件