마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

초심자입니다.. 모션이벤트 멀티터치

0 추천

제가 가지고 있는책에는 너무 간략히만 설명이 되어있어서 질문합니다..

현재 모션이벤트를 사용해서 터치되는 좌표를 처리하는 코드를 짜고 있습니다만

public boolean onTouchEvent(MotionEvent event) {
    	
    	int soundKey = 0;
    	boolean bFlag = false;
    	
    	switch(event.getAction()) {
    	
    		case(MotionEvent.ACTION_DOWN) : {
    			
    			xPos = ((int)event.getX()) * 1800 / xMax;
    			yPos = ((int)event.getY()) * 1080 / yMax;


    			// 좌표에 따른 이벤트처리 조건문 부분
  
    			
    			break;
    			
    		}
    			   		    	
    	}
        	
    	return true;
    	
    }
이렇게 간단히 해서 구현은 했지만 두개 세개 네개를 동시에 인식하기 위해서
 
ACTION_POINTER_DOWN 과 getX() getY() 시 파라미터로 인덱스를 줘서 각각의 이벤트를 접근할 수 있다고는
 
들었지만 구체적으로 어떻게 사용되는지 예시가 궁금합니다.. 간단한 수정으로 가능할지요..?


 

Solve 1 (200 포인트) 님이 2013년 11월 25일 질문

1개의 답변

0 추천
 
채택된 답변

http://stackoverflow.com/questions/8059127/android-multi-touch

public boolean onTouchEvent(MotionEvent e) {
    int num = e.getPointerCount();
    for (int a = 0; a < num; a++) {
      int x = (int) e.getX(e.getPointerId(a));
      int y = (int) e.getY(e.getPointerId(a));
      Log.d(TAG, "pointer_" + e.getPointerId(a) + ": x = " + x
          + ", y = " + y);
    }
    return false;
  }

 

aucd29 (218,390 포인트) 님이 2013년 11월 25일 답변
Solve 1님이 2013년 11월 25일 채택됨
감사합니다 간략한 코드로 쓰는법을 모두 알수있네요 ㅎ
...