禁用ViewPager滚动动画

KKO*_*KKO 5 animation android scroll native android-viewpager

这里的代码,我有一个ViewPager设置适配器.有没有办法禁用滚动动画,以便它在我滑动时"跳转"到新页面?我不希望禁用整个滚动功能onTouchEventonInterceptTouchEvent,只需滑动动画.

mSectionsPagerAdapter = new SectionsPagerAdapter(getFragmentManager());

// Set up the ViewPager with the sections adapter.
mViewPager = (CustomViewPager) findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);
Run Code Online (Sandbox Code Playgroud)

ste*_*han 16

我不知道是否有一个干净的解决方案.但是您可以使用技巧并使用另一个变换器撤消标准页面变换器.该NoPageTransformer是这样的:

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);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

要将其添加到ViewPager,请致电:

mViewPager.setPageTransformer(false, new NoPageTransformer());
Run Code Online (Sandbox Code Playgroud)

可以在SDK 16及更高版本中使用.