禁用ViewPager滚动动画 [英] Disable ViewPager scrolling animation

查看:177
本文介绍了禁用ViewPager滚动动画的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

从这里的code ,我有一个ViewPager那台适配器。有没有什么办法来禁用滚动动画,这样它只是跳跃到新的一页时,我刷卡?我不希望禁用整个滚动功能 onTouchEvent onInterceptTouchEvent ,只需滑动动画。

  mSectionsPagerAdapter =新SectionsPagerAdapter(getFragmentManager());//设置的ViewPager与部分适配器。
mViewPager =(CustomViewPager)findViewById(R.id.pager);
mViewPager.setAdapter(mSectionsPagerAdapter);


我不知道是否有一个干净的解决方案。但是你可以用一招,并撤消与其他变压器标准页变压器。在 NoPageTransformer 是这样的:

 私有静态类NoPageTransformer实现ViewPager.PageTransformer {
    公共无效transformPage(查看视图,浮动位){
        如果(位置℃,){
            view.setScrollX((INT)((浮点)(view.getWidth())*位置));
        }否则如果(位置大于0){
            view.setScrollX( - (INT)((浮点)(view.getWidth())* - 位));
        }其他{
            view.setScrollX(0);
        }
    }
}

将其添加到您的ViewPager,请致电:

  mViewPager.setPageTransformer(假,新NoPageTransformer());

将工作在SDK版本16及以上。

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 not looking to disable the whole scrolling function in onTouchEvent and onInterceptTouchEvent, just the sliding animation.

mSectionsPagerAdapter = new SectionsPagerAdapter(getFragmentManager());

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

解决方案

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.

这篇关于禁用ViewPager滚动动画的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆