내 앱에 MapView가 있습니다. 약간의 드로어 블 마크가있는 오버레이 아이템이 많이 있습니다.MapView의 줌 및 온 탭이 혼합되어 어떻게 해결할 수 있습니까?
오버레이 항목을 터치하면 onTap() 메서드가 실행되고 작은 대화 상자가 표시됩니다. 좋은 작품이지만, 때로는 멀티 터치로 확대하려고 할 때 손가락이 오버레이 아이템의 꼭대기에 오르면 줌이 끝난 후에 대화 상자가 나타납니다. 확대 한 후에 다가올 대화 상자를 닫아야하므로 인체 공학적이지 않기 때문에 다소 버그가 있습니다.
이 이벤트에서 내 앱을 어떻게 막아야합니까? 나는 인스턴트 메신저 할 때 onTap()을 실행하고 싶지 않습니다.
나는 작동하지 onTouch 이벤트와 2 부울로하지만 그것을 시도 :@Override
public boolean onTouchEvent(MotionEvent event, MapView mapView) {
int action = event.getAction() & MotionEvent.ACTION_MASK;
switch (action) {
case MotionEvent.ACTION_DOWN: {
actionIsDown= true;
break;
}
case MotionEvent.ACTION_POINTER_DOWN: {
pointerIsDown=true;
break;
}
case MotionEvent.ACTION_POINTER_UP: {
pointerIsDown= false;
break;
}
case MotionEvent.ACTION_UP: {
actionIsDown= false;
break;
}
}
return super.onTouchEvent(event, mapView);
}
그리고 ONTAP :
@Override
protected boolean onTap(int index)
{
if(pointerIsDown==false && actionIsDown==false){ //...dialog here
어떤 아이디어?
내가 초보자가하는 실수. 백만 명의 고마워! –
당신은 환영합니다 :-) – Luis