0
我試圖讓一些地方做了捏旋轉的圖像,使用下面的代碼檢測:多點觸控:當手指觸摸屏幕用一根手指觸摸已經
public boolean onTouchEvent(MotionEvent e) {
if(e.getPointerCount() > 1) {
if (e.getActionMasked()== MotionEvent.ACTION_MOVE) {
previousX1 = curX1;
previousY1 = curY1;
currentX1 = e.getX(1);
currentY1 = e.getY(1);
previousX0 = curX0;
previousY0 = curY0;
currentX0 = e.getX(0);
currentY0 = e.getY(0);
double prevDist = Math.hypot(prevX1 - prevX2, prevY1 - prevY2);
double dist = Math.hypot(curX1 - curX2, curY1 - curY2);
angle += ((dist - prevDist) * 0.01);
}
}
return true;
}
現在,這個工作正常大多數情況下,除了我希望在捏開始時立即更新當前X1,當前X2等值,即第一手指已經在第二手指觸摸(或擡起)屏幕的MotionEvent時壓下。但是,Android API相當混亂,我無法弄清楚如何檢測這種情況。使用(e.getActionMasked() == MotionEvent.ACTION_DOWN)
或(e.getActionMasked() == MotionEvent.ACTION_POINTER_DOWN)
作爲條件似乎不起作用。
非常感謝幫助。謝謝!
但不ACTION_POINTER_2_DOWN過時?有沒有更好的方式來做到這一點? –