一、问题描述
ViewPager中嵌套百度地图的时候会出现百度地图滑动冲突。
二、期望结果:
滑动地图的时候只有地图滑动,滑动其他区域可以切换viewpager。
三、解决方法
自定义viewpager
package com.aldx.kangdasupervisor.view;
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.View;
import com.aldx.kangdasupervisor.utils.LogUtil;
/**
* author: chenzheng
* created on: 2019/7/8 17:45
* description:
*/
public class ViewPagerMap extends ViewPager {
public ViewPagerMap(Context context) {
super(context);
}
public ViewPagerMap(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) {
LogUtil.e(v.getClass().getName());
if (v.getClass().getName().equals("com.baidu.mapapi.map.TextureMapView")) {
return true;
}
return super.canScroll(v, checkV, dx, x, y);
}
}
划重点:
if (v.getClass().getName().equals("com.baidu.mapapi.map.TextureMapView")) {
return true;
}
此处根据实际地图情况修改,此处仅对百度地图有效,而且我用的是TextureMapView,如果是MapView可以自己修改。