public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
即可抓取觸控的座標以及事件
x[0] = (int) event.getX(0);
y[0] = (int) event.getY(0);
x[1] = (int) event.getX(1);
y[1] = (int) event.getY(1);
x[2] = (int) event.getX(2);
y[2] = (int) event.getY(2);
可惜的是我拿得是 DESIRE 最多兩點觸控,第三點是沒有作用的,且有交叉誤判的現象
抓取事件
if (event.getAction() == MotionEvent.ACTION_MOVE )
{
這個事件在模擬與實機有很大的出入,模擬器只會移動一下觸發一次,而實機摸下去之後不管有沒有移動 都會瘋狂的觸發。
}
if (event.getAction() == MotionEvent.ACTION_DOWN )
{
指尖按下
}
if (event.getAction() == MotionEvent.ACTION_OUTSIDE )
if (event.getAction() == MotionEvent.ACTION_POINTER_1_DOWN )
基本上 如果使用了 MotionEvent.ACTION_DOWN 這個事件永遠不會觸發
if (event.getAction() == MotionEvent.ACTION_POINTER_2_DOWN )
第二點按下
if (event.getAction() == MotionEvent.ACTION_POINTER_3_DOWN )
{
第三點按下
}
if (event.getAction() == MotionEvent.ACTION_POINTER_3_UP )
{
第三點放開 兩點觸控的 也不會產生這個事件
}
}