且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

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

更新时间:2022-02-07 23:48:41


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