我有一个 ListView,在其中将 Google Map MapView添加到标题视图中,下面是有关如何执行此操作的代码:
vListViewTrips.addHeaderView(vMapHeaderView, null, false);
地图已显示并且可以工作,但地图在被触摸时不处理任何手势,即使所有手势都通过以下方式启用:googleMap.getUiSettings().setAllGesturesEnabled(true);
基于我所做的一些搜索,我尝试extend MapView
覆盖public boolean dispatchTouchEvent(final MotionEvent motionEvent)
但仍然从未调用MapView 。onTouchEvent
这是代码:
@Override
public boolean dispatchTouchEvent(final MotionEvent motionEvent) {
ViewParent viewparent = getParent();
switch (motionEvent.getAction()) {
// Pressed on map: stop listview from scrolling
case MotionEvent.ACTION_DOWN:
viewparent.requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_MOVE:
viewparent.requestDisallowInterceptTouchEvent(true);
break;
// Released on map or cancelled: listview can be normal again
case MotionEvent.ACTION_UP:
viewparent.requestDisallowInterceptTouchEvent(false);
break;
}
return super.dispatchTouchEvent(motionEvent);
}
注意我正在使用com.google.android.gms.maps.MapView