我将一个MapView放在ScrollView中。
另外,我在地图视图中添加了缩放控制
mapView.setBuiltInZoomControls(true);
ScrollView正确滚动,但是当我单击MapView时,不会显示缩放控件。 (大部分时间)。通常,缩放控件应显示在地图视图的底部。
似乎Android与MapView和ScrollView上的触摸(或点击)事件混淆。
我希望能够'聚焦' mapview,并显示缩放控件。
我试图禁用ScrollView的滚动功能,但它不起作用。
有什么建议吗?
非常感谢
答案 0 :(得分:4)
我在10天内遇到了同样的问题,但几分钟前我得到了一个解决方案! 这是解决方案。 我做了一个自定义的MapView并覆盖了onTouchEvent()。
@Override
public boolean onTouchEvent(MotionEvent ev) {
int action = ev.getAction();
switch (action) {
case MotionEvent.ACTION_DOWN:
// Disallow ScrollView to intercept touch events.
this.getParent().requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_UP:
// Allow ScrollView to intercept touch events.
this.getParent().requestDisallowInterceptTouchEvent(false);
break;
}
// Handle MapView's touch events.
super.onTouchEvent(ev);
return true;
}
答案 1 :(得分:0)
我将一个MapView放在ScrollView中。
这不太可行。不要将可滚动的小部件放在ScrollView
中。 MapView
已经知道如何滚动。