我在我的应用程序中获得了MapView。 我有很多OverlayItems在里面有一点可绘制的标记。缩放和MapView中的onTap正在混合,如何解决它?
如果我触摸overlayitem,onTap()方法运行,并且我得到一个小对话框。 这是很好的作品,但有时当我尝试使用多点触控进行缩放时,手指位于overlayitem之上时,对话框在我完成缩放后出现。它有点儿怪异,因为它不符合人体工程学,因为在缩放后必须关闭即将出现的对话框。
我应该如何阻止我的应用程序从这个事件? 我不想让onTap()在im放大时运行。
我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