我在实施多点触控时遇到了麻烦,我已经搜索了一段时间。当前实现有效,但会中断其他输入。此代码是我的输入控制器的一部分,它处理/绘制输入区域。 Motion事件通过OnTouchEvent()函数传递, 我已经读过你必须使用指针id来正确地跟踪,但每次我尝试实现它时指针索引超出范围。 我真的可以使用一些帮助
termables
答案 0 :(得分:0)
好的我找到了答案,使用MotionEventCompat我能够通过添加索引并通过MotionEventCompat接口传递事件来实现所需的行为。
int index = MotionEventCompat.getActionIndex(motionEvent);
int x = (int) MotionEventCompat.getX(motionEvent, index);
int y = (int) MotionEventCompat.getY(motionEvent, index);
而不是
int x = (int) motionEvent.getX(i);
int y = (int) motionEvent.getY(i);
在
for (int i = 0; i < pointerCount; i++) {
对我而言,这似乎是一种愚蠢的说实话,这真的让人觉得非常hacky,我甚至不确定现在是否需要迭代这两个指针。我打算试着回复一下
//编辑for循环肯定是多余的,我只需要确保在我进一步尴尬之前