java - Android Multitouch - Second Finger ACTION.MOVE Ignored -



java - Android Multitouch - Second Finger ACTION.MOVE Ignored -

the next code i've been trying utilize multitouch. finger 1 set correctly , moves around when drag finger. finger 2 shows , disappears when touch , release finger, never moves around. thought what's wrong?

i have read developers blog still not understand issues are.

@override public boolean ontouchevent(motionevent event) { int action = event.getaction() & motionevent.action_mask; int pointerindex = (event.getaction() & motionevent.action_pointer_id_mask) >> motionevent.action_pointer_id_shift; int pointerid = event.getpointerid(pointerindex); switch (action) { case motionevent.action_down: case motionevent.action_pointer_down: if (pointerid == 0) { fingeronedown = 1; fingeronex = event.getx(pointerindex); fingeroney = event.gety(pointerindex); } if (pointerid == 1) { fingertwodown = 1; fingertwox = event.getx(pointerindex); fingertwoy = event.gety(pointerindex); } break; case motionevent.action_up: case motionevent.action_pointer_up: case motionevent.action_cancel: if (pointerid == 0) { fingeronedown = 0; fingeronex = event.getx(pointerindex); fingeroney = event.gety(pointerindex); } if (pointerid == 1) { fingertwodown = 0; fingertwox = event.getx(pointerindex); fingertwoy = event.gety(pointerindex); } break; case motionevent.action_move: if (pointerid == 0) { fingeronedown = 1; fingeronex = event.getx(pointerindex); fingeroney = event.gety(pointerindex); } if (pointerid == 1) { fingertwodown = 1; fingertwox = event.getx(pointerindex); fingertwoy = event.gety(pointerindex); } break; } homecoming true; }

nevermind this. fixed it. action.move event gets 0 pointerid unusual reason. because of this, have recalculate pointerid within event seen below:

case motionevent.action_move: int pointercount = event.getpointercount(); for(int = 0; < pointercount; ++i) { pointerindex = i; pointerid = event.getpointerid(pointerindex); log.d("pointer id - move",integer.tostring(pointerid)); if(pointerid == 0) { fingeronedown = 1; fingeronex = event.getx(pointerindex); fingeroney = event.gety(pointerindex); } if(pointerid == 1) { fingertwodown = 1; fingertwox = event.getx(pointerindex); fingertwoy = event.gety(pointerindex); } } break;

java android multi-touch

Comments

Popular posts from this blog

How do I check if an insert was successful with MySQLdb in Python? -

delphi - blogger via idHTTP : error 400 bad request -

postgresql - ERROR: operator is not unique: unknown + unknown -