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