将多点触控传递给父视图

问题描述

我有两个视图,一个父视图(视图 A)和一个子视图(视图 B),视图 B 在视图 A 中。这是我的情况:

  1. 在视图 B 中触摸 1 个手指 -> 视图 B 中的 ACTION_DOWN调用
  2. 在视图 B 中移动这个手指 -> ACTION_MOVE 在视图 B 中被调用
  3. 在视图 B 中再触摸 1 个手指 -> 视图 B 中的 ACTION_POINTER_DOWN调用

现在,我不想再处理视图 B 中的触摸事件,我想将此 ACTION_POINTER_DOWN 操作发送到视图 A,然后继续处理它。我在视图 B 的 return false调用onTouchEvent,但它不起作用。

代码示例

ViewB.kt

override fun onTouchEvent(event: MotionEvent): Boolean {
    when (event.action and MotionEvent.ACTION_MASK) {
        MotionEvent.ACTION_POINTER_DOWN -> {
            return false
        }
    }
    return true
}

查看A.kt

override fun onTouchEvent(event: MotionEvent): Boolean {
    when (event.action and MotionEvent.ACTION_MASK) {
        MotionEvent.ACTION_POINTER_DOWN -> {
            scaleViewA()
        }
    }
    return true
}

当我在视图 B 上触摸 2 个手指时,如何调用方法 scaleViewA()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)