我用不同的方法检测了 2 个视图上的滑动手势:第一个是通过 GestureDetector,第二个是 GestureOverlayView(我需要这个,因为第二个视图是 GridView 并且 GestureDetector 不能正常工作)。
第一个几乎是即时的,但第二个延迟大约 1 秒(Nexus S,ICS)。为什么,我该如何解决?
我无法更改方法,因为稍后我需要识别更复杂的手势,但我希望它能够立即工作。
我用不同的方法检测了 2 个视图上的滑动手势:第一个是通过 GestureDetector,第二个是 GestureOverlayView(我需要这个,因为第二个视图是 GridView 并且 GestureDetector 不能正常工作)。
第一个几乎是即时的,但第二个延迟大约 1 秒(Nexus S,ICS)。为什么,我该如何解决?
我无法更改方法,因为稍后我需要识别更复杂的手势,但我希望它能够立即工作。
我找到了解决方案:
android:fadeOffset="0"
android:fadeDuration="0"
它立即起作用:)
由于其本质,GestureOverlayView 在开始识别形状之前依赖于时间。这不是性能问题。
编辑
抱歉,但我认为无法更改 GestureOverlayView 的反应时间 :(
编辑结束
如果您没有在 xml 中设置 GestureOverlayView 但直接在代码中,您可以使用以下与 RankoR 解决方案相同的方法:
mGestureOverlayView.setFadeEnabled(false);
mGestureOverlayView.setFadeOffset(0);
然后在 onGestureEnded 之后立即调用 onGesturePerformed 方法(在我的情况下为 8 毫秒)