原创首发
ViewPager里面的Fragment有滑动冲突,地图滑动和RecyclerView冲突,重写ViewPager,很不错哦。

问题:ViewPager滑动事件冲突
上图
上面地图左右滑动和下面RecyclerView列表左右滑动冲突,目的,避免地图上面拖动会切换界面。
第一,重写ViewPager
新建ViewPagerCompat继承ViewPager,其中的com.amap.api.maps.MapView就是在layout中用到的地图。
public class ViewPagerCompat extends ViewPager {
public ViewPagerCompat(Context context) {
super(context);
}
public ViewPagerCompat(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) {
if(v.getClass().getName().equals("com.amap.api.maps.MapView")) {
return true;
}
return super.canScroll(v, checkV, dx, x, y);
}
}
第二,用ViewPagerCompat 替换之前的ViewPager
在activity页面中调整
private ViewPagerCompat mContentPager;
layout文件中调整
<com.xxxxx.bbbbb.utils.ViewPagerCompat
.....
.....
/>
第三,试试看看有没有效果
注意com.amap.api.maps.MapView,这个是替换重点,不同地图不同。
看到这里了就点个