android解决同一个界面上ScrollView和百度地图(ListView等可滚动控件)滚动冲突问题

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中,解决方法是一样的。

你可能感兴趣的:(android解决同一个界面上ScrollView和百度地图(ListView等可滚动控件)滚动冲突问题)