Android View Pager以错误的方式徘徊

Chr*_*ins 5 android android-viewpager android-support-library

我在android view-pager(ACL的r4)中发现了一个有趣的bug.

当在较旧或较慢的设备上滚动手指过快/离开屏幕边缘时,速度跟踪器将以错误的方式推动视图寻呼机.

我可以在原版Galaxy Tab,HTC Desire,Nexus One,旧金山,HTC Hero上重现.

打开谷歌+,市场或具有相当变化的视图寻呼机实现的东西.

如果你转到最左边的页面,然后轻轻地将手指拉过屏幕的右边缘,你就可以让取景器跳到右边(与拖动方向相反的方向).

我需要进行更多调查,但这看起来速度跟踪器无法跟上速度较慢的设备.当然,当从左向右快速滚动时,这可以使视图寻呼机跳转.尝试新市场(3.3+)从一边走到另一边,看到令人讨厌的结果!

通过扩展类来修复任何想法.我认为屏幕可能会提供奇怪的结果,当很多正在进行并可能缺少一些MotionEvent,因为我发现它几乎不可能在较新的设备上复制.(Nexus S,三星GSII,Sensation).

编辑:此问题已从ACL v6解决

谢谢,克里斯

ada*_*amp 5

我认为与r4一起发布的ViewPager版本有一些像这样的问题已经修复过了.下一个版本即将推出.除了即将到来的修复之外,这种行为我们可能会随着时间的推移而改进.

如果你很好奇并希望编辑支持库包中包含的源代码,我相信修复是在初始向下事件的onInterceptTouchEvent期间开始将MotionEvents传递给VelocityTracker,而不是仅在onTouchEvent中发生拦截之后.这为VelocityTracker提供了更多数据.或者,您可以尝试其他触发器.