【问题标题】:Android View Pager flings the wrong wayAndroid View Pager 抛出错误的方式
【发布时间】:2011-11-03 14:18:13
【问题描述】:

我在 android view-pager(ACL 的 r4)中发现了一个有趣的错误。

当您的手指在较旧或较慢的设备上滚动太快/离开屏幕边缘时,速度跟踪器会以错误的方式弹出视图寻呼机。

我可以在原始 Galaxy Tab、HTC Desire、Nexus One、旧金山、HTC Hero 上重现。

打开 Google+、市场或其他具有相当低级的视图寻呼机实现的东西。

如果您转到最左侧的页面,请轻轻拉动您的手指 在屏幕的右边缘,您可以让 view-pager 跳转 向右(与拖动方向相反)

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

关于通过扩展类进行修复的任何想法。我认为屏幕可能会在很多情况下提供奇怪的结果,并且可能会丢失一些 MotionEvents,因为我发现几乎不可能在较新的设备上复制。 (Nexus S、三星 GSII、Sensation)。

编辑:从 ACL v6 开始,此问题已得到解决

谢谢, 克里斯

【问题讨论】:

    标签: android android-viewpager android-support-library


    【解决方案1】:

    我认为与 r4 一起发布的 ViewPager 版本存在一些类似的问题,这些问题已经得到修复。下一个版本应该很快就会到来。除了即将进行的修复之外,我们可能会随着时间的推移改进这种行为。

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

    【讨论】:

    • 我认为这是问题所在,我正在考虑在放手时查看速度跟踪器是否跳跃。不幸的是,我现在没有时间研究它。
    • 你对修复它的时间表有任何想法吗?
    • 没有比“现在很快”更具体的了,抱歉。 :)
    • adamp 只是为了让您知道这已在 ACLv6 中得到大部分修复。
    猜你喜欢
    • 2015-04-04
    • 2014-12-19
    • 1970-01-01
    • 2018-02-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-31
    • 1970-01-01
    相关资源
    最近更新 更多