您的位置:首页 > 其它

怎样控制viewpager的滑动速度

2016-09-22 13:47 225 查看

viewPager setAdpater 后调用

setSliderTransformDuration(900); 就可以了



public void setSliderTransformDuration(int duration) {

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

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  viewpager