在ViewPager中禁用animation

我想在我的自定义ViewPager禁用所有的转换animation。 这个视图分页器包含四个选项卡 – 每个选项卡加载一个分Fragment – 视图分页器所做的是切换选项卡:例如第一个选项卡是索引,第二个是地图等。

问题是,如果作为第一个选项卡,我点击第四个选项卡,我可以看到ViewPager如何通过第二个和第三个选项卡,并停止在第四个,我不希望这种情况发生。

我试图禁用此ViewPager所有animation尝试使用setAnimationnull每次用户select一个新的标签显示,但它仍然不起作用。

任何想法,以实现这一目标? 提前感谢!

编辑:我也试图覆盖onCreateAnimation为每个Fragment但仍然无法正常工作

Solutions Collecting From Web of "在ViewPager中禁用animation"

我终于find了问题可以通过调用mViewPager.setCurrentItem(position)与一个额外的参数为false ,这是ViewPager的平滑滚动。 在此之后,滚动将被完成,没有任何平滑,因此animation将不会被看到。

这是另一个解决scheme:

  • 子类ViewPager (您的自定义ViewPager
  • 覆盖两个setCurrentItem方法

代码片段:

 @Override public void setCurrentItem(int item, boolean smoothScroll) { super.setCurrentItem(item, false); } @Override public void setCurrentItem(int item) { super.setCurrentItem(item, false); } 

通过将smoothScroll设置为false ,您将禁用滚动animation。