根据Android文档和一些例子,整理出标准的实现:
@Override
public boolean onTouchEvent(final MotionEvent event)
{
final int action = event.getAction();
final int mask = (action & MotionEvent.ACTION_MASK);
final int count = event.getPointerCount();
final int pointerIdx = event.getActionIndex();
final int touchId = event.getPointerId(pointerIdx);
switch (mask) {
case MotionEvent.ACTION_DOWN: // 第一次触摸下按
INFO(TAG, "ACTION_DOWN " + pointerIdx + "/" + touchId);
nativeTouchPressed((int)event.getX(touchId), (int)event.getY(touchId), touchId);
break;
case MotionEvent.ACTION_POINTER_DOWN: // 后面的触摸下按
INFO(TAG, "ACTION_POINTER_DOWN - " + pointerIdx + "/" + touchId);
nativeTouchPressed((int)event.getX(touchId), (int)event.getY(touchId), touchId);
break;
case MotionEvent.ACTION_UP: // 最后一次触摸弹起
INFO(TAG, "ACTION_UP - " + pointerIdx &#