自定义ViewPager轮播,设置切换过渡时间

来源:互联网 发布:java环境变量配置path 编辑:程序博客网 时间:2024/06/03 12:40

1.继承Scroller 

public classViewPagerScroller extendsScroller {

    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();        }    }}
2.使用
ViewPagerScroller scroller = new ViewPagerScroller(getActivity());scroller.setScrollDuration(2000);scroller.initViewPagerScroll(vp);//这个是设置切换过渡时间为2秒
0 0
原创粉丝点击