android解决同一个界面上ScrollView和百度地图(ListView等可滚动控件)滚动冲突问题
如下代码所示:
其中 scrollView 为外层的大的scrollView 控件。
mMapView 为嵌在ScrollView中的可触摸控件,这里为百度地图。
// 重写onTouch()事件,在事件里通过requestDisallowInterceptTouchEvent(boolean)方法来设置父类的不可用,true表示父类的不可用 //解决地图的touch事件和scrollView的touch事件冲突问题 mMapView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if(event.getAction() == MotionEvent.ACTION_UP){ scrollView.requestDisallowInterceptTouchEvent(false); }else{ scrollView.requestDisallowInterceptTouchEvent(true); } return false; } });
如果是ListView嵌套在ScrollView中,解决方法是一样的。