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 ) { 第三點放開 兩點觸控的 也不會產生這個事件 } }
multi-touch
最新推荐文章于 2021-09-10 14:30:06 发布