我在我的應用程序中獲得了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