1. 程式人生 > >怎樣控制viewpager的滑動速度

怎樣控制viewpager的滑動速度

    try {
        Field mScroller = ViewPager.class.getDeclaredField("mScroller");
        mScroller.setAccessible(true);
        FixedSpeedScroller scroller = new FixedSpeedScroller(getActivity(), null, duration);
        mScroller.set(vp_adverse, scroller);
    } catch (Exception e) {
        e.printStackTrace();

    }
}


public class 
FixedSpeedScroller extends Scroller {

    private int mDuration 1000;

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

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

    public FixedSpeedScroller(Context context, Interpolator interpolator, int 
duration) {
        this(context, interpolator);
        mDuration = duration;
    }

    @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);
    }
}