2

내 앱에 문제가 있습니다. Google지도 Android APi (v2)의지도가 포함 된 FrameLayout과 표시 할 사용자 정의보기가 포함 된 FrameLayout이 있습니다. 지도 상단에 다양 한 단추입니다.터치 이벤트를 사용하면 향후 이벤트를 감지 할 수 없습니다.

맵이 이동하는 동안 나는이를 위해 내가보기의 onTouchEvent() 함수를 사용하여 표시하지 이러한 요소 중 일부를 싶습니다

@Override 
public boolean onTouchEvent(MotionEvent event) { 
    switch (event.getActionMasked()) { 
    case MotionEvent.ACTION_DOWN: 
     pressed = true; 
     invalidate(); 
     break; 

    case MotionEvent.ACTION_UP: 

     pressed = false; 
     invalidate(); 
     break; 
    } 
    return false; 
} 

캔버스는 onDraw() 함수 만 표시 지도 위에 그려진 요소 pressed == false;

이제는 내 문제가 있습니다. 거짓을 입력하면 이벤트가 사용되지 않았으며 터치 이벤트가 기록 될 때 Android OS가 더 이상 알리지 않습니다. MotionEvent.ACTION_UP이 감지되지 않고 버튼이 숨겨진 상태로 유지됩니다. 사실이라면 이번에는 Google지도 객체에서 터치 이벤트가 더 이상 감지되지 않으며지도를 이동할 수 없습니다. 첫 번째 이벤트를 사용하지 않고 모든 향후 터치 이벤트를 계속 감지 할 수있는 방법이 있습니까?

+1

결국 해결책을 찾았습니까? 나는 똑같은 문제를 겪고있다. – SqueezyMo

답변

0

onInterceptTouchEvent 또는 dispatchTouchEvent을 사용하십시오.

여기에서 차이점에 대해 읽어보십시오. Android: Difference between onInterceptTouchEvent and dispatchTouchEvent?

+0

답장을 보내 주셔서 감사합니다. 그러나이 질문을 어떻게 사용해야할지 모르겠습니다. 당신이 염두에두고있는 것을 설명해 주시겠습니까? – Apoz

관련 문제