0

在 iOS 中,我们在 UIGestureRecognizer 类中有属性 numberOfTouchesRequired。其含义是:需要点击多少手指才能识别手势。

@property(nonatomic) NSUInteger numberOfTouchesRequired

我想检测用户何时在屏幕的不同部分同时用两根手指点击。

任何帮助将非常感激。

4

4 回答 4

1

简短的回答是没有办法使用 android 手势识别 API 开箱即用地做到这一点,你必须自己动手。

您使用 android sdk 获得的基本检测器是 GestureDetector 和 ScaleGestureDetector。

如果您对 android 完全陌生,请在此处查看有关手势的官方教程/培训:https ://developer.android.com/training/gestures/index.html

GestureDetector 类检测到一系列典型的手势,如点击、长按、滑动、甩动(参见 SimpleOnGestureListener 接口),但与 iOS 中的 UIGestureRecogniser 不同,它在配置识别器或指定它们之间的依赖关系方面并不灵活。基本上识别器是一个黑盒子,你得到的只是回调动作方法。您无法真正使用“要求失败”或“同时识别”约束甚至基本配置(如手指数量)来配置它。

从概念上讲,实现 2 指轻敲并不难。您必须确保两个手指彼此靠近(某个阈值)并且触摸时间(对于向下和向上事件)非常接近(某个其他阈值)。

查看上面的教程,你应该有足够的细节来自己实现。

于 2013-07-25T15:11:49.437 回答
1

它在 Android 中的工作方式略有不同,但您可以获得相同的功能。你只需要覆盖onTouchEvent(motionEvent)

在那里,您将能够操作包含屏幕上手指数量等内容的事件变量 ( event.getPointerCount())

于 2013-06-28T13:52:09.350 回答
0

您可以使用这个复制了 iOS 手势库链接的 Lib

于 2016-11-17T08:55:41.737 回答
0

这是我正在研究的一个开源库,它复制了 iOS UIGestureRecognizer 框架:https ://github.com/sephiroth74/AndroidUIGestureRecognizer

于 2017-01-10T16:57:23.633 回答