2012-01-05 13 views
2

ここに私の問題のシナリオがあります: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; 
} 

答えて

0

何か知っておくべきこと:多くのAndroid搭載携帯電話はマルチタッチのために盗難されています。

Google for androidマルチタッチの問題とビデオを見る。

基本的には、ある指を押し下げて別の指を動かすと、2番目の指がxまたはyのいずれかで最初の指に近づくと、最初の指の指は指が動かないように見えます動く。

これはちょうどあなたが知りたいかもしれないと思った...完全な面倒くさです...

GAJ