2013-05-13 46 views
0

我正在嘗試創建一個簡單的應用程序,用於在屏幕上追蹤用戶的手勢。現在用單點觸摸手勢這是可以實現的,而只需使用你的OnTouchEvent方法如下代碼:Android:追蹤多點觸控手勢

switch (event.getAction()) 
     { 
      case MotionEvent.ACTION_DOWN: 
       path.reset(); 
       this.invalidate(); 
       path.moveTo(eventX, eventY); 
       path.addCircle(eventX, eventY, 50, Path.Direction.CW); 
       return true; 
      case MotionEvent.ACTION_MOVE: 
       path.lineTo(eventX, eventY); 
       break; 
      case MotionEvent.ACTION_UP: 

       break; 
      default: 
       return false; 
     } 

[該addcircle方法只是簡單地創建一個circle標誌着當用戶開始把自己的手指。

現在,是否有可能通過多點觸控手勢達到同樣的效果?如果是這樣,我該如何去做呢?提前致謝。

回答

0

好吧,所以我最終找到了解決方案。這不完全是我想要的,但這是迄今爲止我所得到的最接近的。基本上,我保持包含用戶手指的所有座標的二維ArrayList(最多四個手指)。在用戶完成他們的手勢後,我開始另一個活動,該活動貫穿2D ArrayList並將所有點繪製到畫布上。如果有人想要這個解決方案的更多細節,請留下評論,我可以添加一些代碼並進行更深入的解釋。

0

您可能需要閱讀文檔中的Handling Multi-Touch Gestures一章。

本質上,每個MotionEvent也有一個指針,它允許跟蹤多個手指。你必須自己做所有的狀態處理。

如果你想實現一些共同的東西,看看GestureDetector,它支持扔,敲,雙擊和滾動。