2014.01.21(2)——— android开发实例之viewpager无限循环+自动滚动
1、用到了一个开源库,但是没有用library的方式,我把代码内嵌进去了
详见:[url]https://github.com/JakeWharton/Android-ViewPagerIndicator[/url]
2、关于无限循环
原理 [url]http://www.cnblogs.com/xinye/archive/2013/06/09/3129140.html[/url]
不再细说 就说下代码中注意的
首尾都多添加一个数据
3、关于自动滚动
参考:[url]http://my.oschina.net/javalover/blog/179003[/url]
但是 这样写了之后 手动滑动的话 就不是很理想,手动的时候 太慢了 而且不根据滑动的距离和速度,参考viewpager的源码,给自定义Scroller稍做修改
效果图如下:
[img]http://dl2.iteye.com/upload/attachment/0093/4057/e864539d-7775-3929-99a4-3874e463b2ee.png[/img]
代码见附件
1、用到了一个开源库,但是没有用library的方式,我把代码内嵌进去了
详见:[url]https://github.com/JakeWharton/Android-ViewPagerIndicator[/url]
2、关于无限循环
原理 [url]http://www.cnblogs.com/xinye/archive/2013/06/09/3129140.html[/url]
不再细说 就说下代码中注意的
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、关于自动滚动
参考:[url]http://my.oschina.net/javalover/blog/179003[/url]
但是 这样写了之后 手动滑动的话 就不是很理想,手动的时候 太慢了 而且不根据滑动的距离和速度,参考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);
效果图如下:
[img]http://dl2.iteye.com/upload/attachment/0093/4057/e864539d-7775-3929-99a4-3874e463b2ee.png[/img]
代码见附件