您的位置:首页 > 移动开发 > Android开发

android 修改viewpager切换速度

2016-06-15 16:11 441 查看
废话不多说直接上代码:

public class MyViewPager extends ViewPager {

public MyViewPager(Context context) {
super(context);
init();
}

public MyViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public void init(){
try {
Field mField = ViewPager.class.getDeclaredField("mScroller");
mField.setAccessible(true);
FixedSpeedScroller mScroller = new FixedSpeedScroller(getContext(),new AccelerateInterpolator());
mField.set(this, mScroller);
mScroller.setmDuration(400);
} catch (Exception e) {
e.printStackTrace();
}
}
}

public class FixedSpeedScroller extends Scroller {
private int mDuration = 1500;

public FixedSpeedScroller(Context context) {
super(context);
}

public FixedSpeedScroller(Context context, Interpolator interpolator) {
super(context, interpolator);
}

@Override
public void startScroll(int startX, int startY, int dx, int dy, int duration) {
// Ignore received duration, use fixed one instead
super.startScroll(startX, startY, dx, dy, mDuration);
}

@Override
public void startScroll(int startX, int startY, int dx, int dy) {
// Ignore received duration, use fixed one instead
super.startScroll(startX, startY, dx, dy, mDuration);
}

public void setmDuration(int time) {
mDuration = time;
}

public int getmDuration() {
return mDuration;
}
}

当做自定义view   运行试试吧
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: