禁用ViewPager滚动动画 [英] Disable ViewPager scrolling animation
本文介绍了禁用ViewPager滚动动画的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
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屋!
查看全文