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