Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何取消ViewPager';s";snap";调用endFakeDrag()后的动画?_Java_Android_Android Viewpager_Scroller_Onfling - Fatal编程技术网

Java 如何取消ViewPager';s";snap";调用endFakeDrag()后的动画?

Java 如何取消ViewPager';s";snap";调用endFakeDrag()后的动画?,java,android,android-viewpager,scroller,onfling,Java,Android,Android Viewpager,Scroller,Onfling,上下文:我试图实现一个。投掷运动正常工作。我喜欢在投掷动作后页面“捕捉”到中心。尽管如此,到目前为止我还是遇到了一些问题。一个问题是,当拖动页面超过一定量时,页面不会对齐中心。我已经解决了这个问题,所以这只是为了上下文。另一个问题如下 问题:在beginFakeDrag()->FlingRunTable(投掷运动)->endFakeDrag()之后,endFakeDrag()的内部代码将页面“捕捉”到中间。当我在捕捉动作期间再次尝试投掷时,它会在动画完成后等待,将投掷动作置于队列中 如何取消触

上下文:我试图实现一个。投掷运动正常工作。我喜欢在投掷动作后页面“捕捉”到中心。尽管如此,到目前为止我还是遇到了一些问题。一个问题是,当拖动页面超过一定量时,页面不会对齐中心。我已经解决了这个问题,所以这只是为了上下文。另一个问题如下


问题:在beginFakeDrag()->FlingRunTable(投掷运动)->endFakeDrag()之后,endFakeDrag()的内部代码将页面“捕捉”到中间。当我在捕捉动作期间再次尝试投掷时,它会在动画完成后等待,将投掷动作置于队列中

如何取消触地时的捕捉动作,使其不会延迟投掷动作


尝试1:在触地时,我尝试开始endFakeDrag(),但没有取消endFakeDrag()捕捉动作

尝试2:我没有调用endFakeDrag(),而是尝试在
假拖动过程中模拟捕捉动作,这样我就可以自己执行取消操作,并且只在页面已经居中时调用endFakeDrag()。我使用Scroller的startScroll()通过SnapRunnable尝试了这一点

这可能是我最好的选择,但我不知道要将页面居中滚动到多少距离X。我试图查看原始的ViewPager.class,但算法让我感到困惑,它似乎依赖于VelocityViewPager.class无法访问的更多内部代码