因此,我尝试使用 onTouchEvent 检查多个屏幕触摸,但它似乎仍然只读取第一次触摸。有人可以帮忙吗?
这是我的代码:
public boolean onTouchEvent(MotionEvent e)
{
int num = e.getPointerCount();
for(int a = 0;a<num;a++)
{
int x = (int) e.getX(e.getPointerId(a));
int y = (int) e.getY(e.getPointerId(a));
check(x,y);
}
return false;
}
我浏览了很多此类论坛,但大多数与多点触控相关的主题都与缩放有关。
您的代码在我的设备(Nexus S、Android 2.3)上运行良好。它读取所有触摸。
这是测试代码:
public boolean onTouchEvent(MotionEvent e) {
int num = e.getPointerCount();
for (int a = 0; a < num; a++) {
int x = (int) e.getX(e.getPointerId(a));
int y = (int) e.getY(e.getPointerId(a));
Log.d(TAG, "pointer_" + e.getPointerId(a) + ": x = " + x
+ ", y = " + y);
}
return false;
}
这是日志(用 5 个手指触摸):
11-09 17:32:55.542: D/Touch(20594): pointer_0: x = 169, y = 613
11-09 17:32:55.542: D/Touch(20594): pointer_1: x = 407, y = 289
11-09 17:32:55.542: D/Touch(20594): pointer_2: x = 62, y = 441
11-09 17:32:55.542: D/Touch(20594): pointer_3: x = 251, y = 202
11-09 17:32:55.542: D/Touch(20594): pointer_4: x = 132, y = 256
您的 Android 设备和操作系统版本是什么?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)