ViewPager中的Fragment包含地图时,滑动事件冲突问题

有这样一个需求场景,要用地图,且要放在Fragment中,地图左右拖动就会和ViewPager的滑动事件冲突,这类似两个可拖动控件的冲突,网上有不少解决方案,但是大部分不适用,这里我写一个我实测可行的解决方法。

  1. 自定义一个viewPager
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.esri.android.map.MapView")) {
            return true;
        }
        return super.canScroll(v, checkV, dx, x, y);
    }
}
  1. 然后用这个ViewPagerCompat代替原来的ViewPager使用即可。

从之衍生,其它类似组件冲突应该也可这样处理,只要将

v.getClass().getName().equals("com.esri.android.map.MapView")

中的“com.esri.android.map.MapView”替换为产生冲突的控件即可。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,235评论 25 709
  • 原文链接:https://github.com/opendigg/awesome-github-android-u...
    IM魂影阅读 33,085评论 6 472
  • 内容抽屉菜单ListViewWebViewSwitchButton按钮点赞按钮进度条TabLayout图标下拉刷新...
    皇小弟阅读 47,046评论 22 665
  • 儒家经典名言50句——入世境界 1、物有本末,事有终始。知所先后,则近道矣。——《大学》 大意:世上的事物都有本末...
    姜全政阅读 3,523评论 0 0
  • ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构。 以前,为变量赋值,只能直接指定值。...
    webhk阅读 2,463评论 0 0

友情链接更多精彩内容