Disable ViewPager scrolling animation

后端 未结 4 1957
执笔经年
执笔经年 2020-12-18 06:54

From the code here, I have a ViewPager that sets an adapter. Is there any way to disable the scrolling animation so that it just \"jumps\" to the new page when I swipe? I\'m

4条回答
  •  执笔经年
    2020-12-18 07:32

    I do not know if there is a clean solution. But you can use a trick and undo the standard page transformer with another transformer. The NoPageTransformer would look like this:

    private static class NoPageTransformer implements ViewPager.PageTransformer {
        public void transformPage(View view, float position) {
            if (position < 0) {
                view.setScrollX((int)((float)(view.getWidth()) * position));
            } else if (position > 0) {
                view.setScrollX(-(int) ((float) (view.getWidth()) * -position));
            } else {
                view.setScrollX(0);
            }
        }
    }
    

    To add it to your ViewPager, call:

    mViewPager.setPageTransformer(false, new NoPageTransformer());
    

    Will work in SDK version 16 and above.

提交回复
热议问题