我在处理多点触摸事件时遇到了真正的问题。基本上,我需要检测是否有人在触摸屏幕的同时释放了手指。
根据先前回答的这个问题,我应该使用MotionEvent.ACTION_POINTER_UP MotionEvent.ACTION_UP。
据我所知,以下代码应该告诉我是否抬起了手指:
int action = event.getActionMasked();
mCurUp = ( action == MotionEvent.ACTION_UP ) || ( action == MotionEvent.ACTION_POINTER_UP );
我在实践中发现,这种方法有时可以奏效。如果我非常小心地将左手指放在屏幕上并抬起右手指,就不会触发任何事件!通常,在某个时刻,我的左手指会摇晃,生成一个ACTION_MOVE事件。此时会生成一个事件(262),我认为与ACTION_POINTER_UP相关。
因此,我想知道是否有其他人也遇到了这个问题,我还怀疑这可能是我HTC Desire上臭名昭著的触摸屏引起的。或者我做错了什么根本性的错误。是否有一些经过测试的代码可以可靠地检测到从触摸屏上抬起任何一个手指?