如何在自定义视图中使用 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)
}
我不知道如何在自定义视图中使用手势检测器。
我想用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)
}