上下文:我尝试实施flingable VelocityViewPager。投掷动作正常。我喜欢这个页面"快照"在投掷动作后居中。尽管如此,到目前为止我还有一些问题。一个问题是,当您拖动页面超过一定数量时页面不会对齐。我使用this code解决了这个问题,所以这只是针对上下文的。另一个问题如下......
问题:在beginFakeDrag()之后 - > FlingRunnable(投掷动作) - > endFakeDrag(),endFakeDrag()'内部代码"快照"要居中的页面。当我尝试在>强制拍摄动作期间再次拍摄时,它会一直等到动画完成后 - 将投掷动作放在队列中。
如何在触地下取消快动作以使其不会延迟投掷动作?
尝试1:触摸时,我尝试使用beginFakeDrag()但它没有取消endFakeDrag()快照动作。
尝试2:我没有调用endFakeDrag(),而是试图在假拖动期间模仿快动,这样我就可以自己实现取消并只调用endFakeDrag(当页面已经居中时。我使用Scroller的startScroll()通过SnapRunnable尝试了这个。
这可能是我最好的选择,但我无法弄清楚要滚动到多少distanceX以使页面居中。我试图查看原始的ViewPager.class,但算法使我感到困惑,似乎依赖于VelocityViewPager.class无法访问的更多内部代码。