use*_*613 7 android android-layout
我有一个水平滚动视图,其中包含视图组的层次结构,然后最终是一个谷歌地图.我的问题是HSV正在捕捉对地图意味着的左右拖动.我试过了
hsv.requestDisallowInterceptTouchEvent(true);
Run Code Online (Sandbox Code Playgroud)
乃至
mapView.getParent().requestDisallowInterceptTouchEvent(true);
Run Code Online (Sandbox Code Playgroud)
但无济于事.我有什么问题吗?或者你能建议另一个解决方案?
我认为这应该是我原来的问题:如何在ScrollView中实现Mapview中发布的解决方案.具体来说,我在哪里放置代码?
Ale*_*kov 11
看来你是正确的,但你应该在每个触摸事件上调用requestDisallowInterceptTouchEvent(true)方法(参见文档).试试这个解决方案
更新:
试试这个:
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);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12277 次 |
| 最近记录: |