/**
* ViewPager 滚动速度设置
*
*/
public
class
ViewPagerScroller
extends
Scroller {
private
int
mScrollDuration =
2000
;
/**
* 设置速度速度
* @param duration
*/
public
void
setScrollDuration(
int
duration){
this
.mScrollDuration = duration;
}
public
ViewPagerScroller(Context context) {
super
(context);
}
public
ViewPagerScroller(Context context, Interpolator interpolator) {
super
(context, interpolator);
}
public
ViewPagerScroller(Context context, Interpolator interpolator,
boolean
flywheel) {
super
(context, interpolator, flywheel);
}
@Override
public
void
startScroll(
int
startX,
int
startY,
int
dx,
int
dy,
int
duration) {
super
.startScroll(startX, startY, dx, dy, mScrollDuration);
}
@Override
public
void
startScroll(
int
startX,
int
startY,
int
dx,
int
dy) {
super
.startScroll(startX, startY, dx, dy, mScrollDuration);
}
public
void
initViewPagerScroll(ViewPager viewPager) {
try
{
Field mScroller = ViewPager.
class
.getDeclaredField(
"mScroller"
);
mScroller.setAccessible(
true
);
mScroller.set(viewPager,
this
);
}
catch
(Exception e) {
e.printStackTrace();
}
}
}
这个是设置viewPager切换过度时间的类
ViewPagerScroller scroller =
new
ViewPagerScroller(context);
scroller.setScrollDuration(
0
);
scroller.initViewPagerScroll(viewPager);
ViewPagerScroller scroller =
new
ViewPagerScroller(context);
scroller.setScrollDuration(
2000
);
scroller.initViewPagerScroll(viewPager);