以下代碼是測試應用程序中用於擴展surfaceView的類的實際代碼。Android:SurfaceView停止在第三根手指上繪圖
@Override
public void onDraw(Canvas canvas)
{
canvas.drawCircle(touched_x, touched_y, 50, myPaint);
}
@Override
public boolean onTouchEvent(MotionEvent event)
{
touched_x = event.getX();
touched_y = event.getY();
return true;
}
它基本上繪製你的手指去的地方。測試它的跟蹤與否。
添加第二根手指,仍然可以追蹤您的第一根手指。但添加一個第三,它只是停止。這不關你從那裏做什麼。除非你刪除所有的手指,並重新開始它不會跟蹤。
現在這是一個問題,因爲它有時認爲一個手指是三個!我可以克服手指之間的這種測試距離,但仍然無法解決問題。
當第三根手指碰撞並凍結跟蹤。它不會調用action.Cancel。
它是至關重要的,我知道第一根手指何時何地被釋放。
但是它認爲最後的事件是MotionEvent.ACTION_MOVE
。不是MotionEvent.ACTION_UP
或MotionEvent.ACTION_CANCEL
。
目前由於一個手指可以是三個。我的應用程序看起來像是無法加載給定的圖像滾動。
你能證明你的代碼,你處理3手指觸摸? – alaster
我不處理它,我不在乎第三根手指。除了它是停止第一根手指。 – Doomsknight