ここに私の問題のシナリオがあります:Android:マルチタッチの問題
- 私は画面上を押します。私は、このタッチイベントをMotionEventクラスのACTION_DOWN変数で追跡することができます。この初期の指を画面に押したままにすると、私の問題が発生します。他のタッチイベントを画面上で追跡できるようにしたい。
私の質問は本質的に、私が次のタッチイベントを追跡するにはどうしたらいいのでしょうか?
ベスト、 Aneem
EDIT:非プライマリポインタ(おそらく別の指が)代わりにACTION_DOWNを探しているのを除いて同じようにダウンした場合
public boolean onTouchEvent(final MotionEvent ev) {
if(ev.getAction()==ev.ACTION_DOWN||ev.getActionMasked()==ev.ACTION_POINTER_DOWN){
AudioManager mgr = (AudioManager) getContext().getSystemService(Context.AUDIO_SERVICE);
int streamVolume = mgr.getStreamVolume(AudioManager.STREAM_MUSIC);
PointF[] touchPoints = new PointF[ev.getPointerCount()];
for(int i = 0; i < ev.getPointerCount(); i++){
touchPoints[i] = new PointF(ev.getX(i),ev.getY(i));
}
for(final PointF point : touchPoints){
x = ev.getX(ev.getActionIndex());
y = ev.getY(ev.getActionIndex());
int ptx = (int) (x - x%widthIncrement);
int pty = (int) (y - y%heightIncrement);
playSound(pointMap.get(new Point(ptx,pty)));
}
return true;
}
return true;
}