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;
}
});