ViewPager 设置自定义滑动速度

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

}
//调用方法
	try {
			 Field field = ViewPager.class.getDeclaredField("mScroller");
		        field.setAccessible(true);
		        FixedSpeedScroller scroller = new FixedSpeedScroller(viewPager.getContext(),
		                new AccelerateInterpolator());
		        field.set(viewPager, scroller);
		        scroller.setmDuration(1000);
		} catch (Exception e) {
			e.printStackTrace();
		}

猜你喜欢

转载自a754782339.iteye.com/blog/2267041