2012-01-05 3 views
2

Вот сценарий моей проблемы:Android: проблема с Multitouch

-Нажмите на экран. Я могу отслеживать это событие касания с переменной ACTION_DOWN класса MotionEvent. Моя проблема возникает, когда я держу этот начальный палец нажатым на экране. Я хочу отслеживать любые другие события касания на экране.

Я думаю, что мой вопрос по существу, как я могу отслеживать последующие события касания, даже когда он продолжается?

Бест, Aneem

EDIT:

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; 
} 

ответ

2

Ну, вы можете определить, является ли неосновной указатель (другой палец вероятно) пошел вниз так же, только вместо того, чтобы искать ACTION_DOWN , ищите ACTION_POINTER_DOWN.

0

Что-то, о чем нужно знать: многие телефоны Android прослушиваются для мультитач.

Google for android multi touch проблема и смотреть видео.

В принципе, если вы держите один палец вниз, а затем перемещаете еще один, так как второй палец приближается к x или y к первому, тогда первые косы пальцев будут двигаться, даже если палец не перемещение.

Это полный PITA ... просто думал, что вы хотели бы знать ...

GÀJ

Смежные вопросы