我想在我的自定义ViewPager
中禁用所有过渡动画。此视图页包含四个选项卡-每个选项卡加载一个Fragment
-视图页所做的是切换选项卡:例如,第一标签是索引,第二标签是Map,等等。
问题是,如果作为第一个选项卡,我单击第四个选项卡,我可以看到ViewPager
如何通过第二个和第三个选项卡,并停止在第四个选项卡上,我不希望发生这种情况。
我尝试禁用此ViewPager
的所有动画,尝试在每次用户选择要显示的新选项卡时使用setAnimation
到null
,但仍然不起作用。
请问有什么办法可以实现这个目标吗?先谢谢你了!
编辑:我还尝试为每个Fragment
覆盖onCreateAnimation
,但仍然不起作用
5条答案
按热度按时间mlnl4t2r1#
我终于发现:这个问题可以通过调用
mViewPager.setCurrentItem(position)
来解决,只需使用false
的一个额外参数,这是ViewPager
的平滑滚动。在此之后,滚动将在没有任何平滑的情况下完成,因此动画将不会被看到。r8xiu3jd2#
这里有另一个解决方案:
代码片段:
通过将smoothScroll设置为false,可以禁用滚动动画。
fkvaft9z3#
我正在搜索禁用滑动动画,甚至用户滑动,这里是我的实现
1-覆盖
Viewpager
方法onInterceptTouchEvent
和onTouchEvent
2-创建你自己的
GestureDetector
3-检测滑动手势并使用
setCurrentItem(item, false)
视图分页器
在设置ViewPager时设置swipeListener
kiayqfof4#
通过在分配查看寻呼机的位置时将平滑滚动设置为false解决了这个问题。这样,平滑滚动将不存在+动画将消失。
7eumitmz5#
在tabselected侦听器中,只需将setCurrentItem的第二个参数设置为false,即可禁用平滑滚动。