本博客所有文章皆为原创,欢迎转载,转载请注明出处,谢谢合作!
http://blog.csdn.net/shinnwxwx/article/details/50825082
介绍:ViewPager源生是不支持调整页面切换速度的,对于想调整滚动速度的朋友可以使用以下代码。
不废话,直接上能用的源码,拉进工程里就能用啦!
public class ViewPagerForScrollerSpeed extends ViewPager {
Context context;
private int speed = 300;// 毫秒
public ViewPagerForScrollerSpeed(Context context) {
super(context);
this.context = context;
init();
}
public ViewPagerForScrollerSpeed(Context context, AttributeSet attrs) {
super(context, attrs);
this.context = context;
init();
}
public void init() {
controlViewPagerSpeed();
}
// 设置滚动速度
public void setSpeed(int speed) {
this.speed = speed;
}
FixedSpeedScroller mScroller = null;
private void controlViewPagerSpeed() {
try {
Field mField;
mField = ViewPager.class.getDeclaredField("mScroller");
mField.setAccessible(true);
mScroller = new FixedSpeedScroller(context, new AccelerateInterpolator());
mScroller.setmDuration(speed); // 2000ms
mField.set(this, mScroller);
} catch (Exception e) {
e.printStackTrace();
}
}
}
具体功能性函数已经写好注释,大家可以直接在自己的layout里引用这个自定义的View设置好宽高位置即可,附上例子layout代码
<这里写上你的应用包名.ViewPagerForScrollerSpeed
android:id="@+id/pager_banner"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</这里写上你的应用包名.ViewPagerForScrollerSpeed>
在代码里直接调用setSpeed就可以设置滚动速度了,单位是毫秒哦!