如何在自定义视图中使用 SimpleOnGestureListener?

How to use SimpleOnGestureListener in custom view?

我不知道如何在自定义视图中使用手势检测器。 我想用onLongPress,但不知道放在哪里,也不知道怎么用

class CustomView(context: Context, attr: AttributeSet) : View(context, attr) {
   val listener = object :
        GestureDetector.SimpleOnGestureListener() {
      
        }
    }

   val detector = GestureDetector(context, listener)
}

也许有人可以帮助我。 谢谢。

你读过这个吗? https://developer.android.com/training/gestures/detector#detect-all-supported-gestures

整篇文章都值得一读,但基本上您可以在 SimpleOnGestureListener

中覆盖您想要处理的手势的功能
val listener = object : GestureDetector.SimpleOnGestureListener() {
    override fun onLongPress (MotionEvent e) {
        // do whatever
    }
}

然后您使用该侦听器创建 GestureDetector

val detector = GestureDetectorCompat(context, listener)

然后覆盖视图的 onTouchEvent 方法并让检测器处理事件:

override fun onTouchEvent(event: MotionEvent): Boolean {
    detector.onTouchEvent(event)
    return super.onTouchEvent(event)
}