在 iOS 中,我们在 UIGestureRecognizer 类中有属性 numberOfTouchesRequired。其含义是:需要点击多少手指才能识别手势。
@property(nonatomic) NSUInteger numberOfTouchesRequired
我想检测用户何时在屏幕的不同部分同时用两根手指点击。
任何帮助将非常感激。
在 iOS 中,我们在 UIGestureRecognizer 类中有属性 numberOfTouchesRequired。其含义是:需要点击多少手指才能识别手势。
@property(nonatomic) NSUInteger numberOfTouchesRequired
我想检测用户何时在屏幕的不同部分同时用两根手指点击。
任何帮助将非常感激。
简短的回答是没有办法使用 android 手势识别 API 开箱即用地做到这一点,你必须自己动手。
您使用 android sdk 获得的基本检测器是 GestureDetector 和 ScaleGestureDetector。
如果您对 android 完全陌生,请在此处查看有关手势的官方教程/培训:https ://developer.android.com/training/gestures/index.html
GestureDetector 类检测到一系列典型的手势,如点击、长按、滑动、甩动(参见 SimpleOnGestureListener 接口),但与 iOS 中的 UIGestureRecogniser 不同,它在配置识别器或指定它们之间的依赖关系方面并不灵活。基本上识别器是一个黑盒子,你得到的只是回调动作方法。您无法真正使用“要求失败”或“同时识别”约束甚至基本配置(如手指数量)来配置它。
从概念上讲,实现 2 指轻敲并不难。您必须确保两个手指彼此靠近(某个阈值)并且触摸时间(对于向下和向上事件)非常接近(某个其他阈值)。
查看上面的教程,你应该有足够的细节来自己实现。
它在 Android 中的工作方式略有不同,但您可以获得相同的功能。你只需要覆盖onTouchEvent(motionEvent)
在那里,您将能够操作包含屏幕上手指数量等内容的事件变量 ( event.getPointerCount()
)
您可以使用这个复制了 iOS 手势库链接的 Lib
这是我正在研究的一个开源库,它复制了 iOS UIGestureRecognizer 框架:https ://github.com/sephiroth74/AndroidUIGestureRecognizer