我有一个水平滚动视图,其中包含视图组的层次结构,最后是谷歌地图。我的问题是 HSV 正在捕捉地图上的左右阻力。我试过了
hsv.requestDisallowInterceptTouchEvent(true);
乃至
mapView.getParent().requestDisallowInterceptTouchEvent(true);
但无济于事。我在这里做错了什么吗?或者你能建议另一种解决方案吗?
我认为这应该是我最初的问题:如何实施此处发布的解决方案ScrollView 内的 Mapview。具体来说,代码应该放在哪里?
看起来你的方法是正确的,但是你应该在每个触摸事件上调用 requestDisallowInterceptTouchEvent(true) 方法(请参阅docs). Try 这个解决方案
Updated:
试试这个:
final HorizontalScrollView hsv = ...
final MapView mapView = ...
mapView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE:
hsv.requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
hsv.requestDisallowInterceptTouchEvent(false);
break;
}
return mapView.onTouchEvent(event);
}
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)