完美解决ViewPager与各种横向滑动组件(横向RecyclerView,ScrollView等)冲突问题

核心就是判断滑动事件 纵向 父控件控制 横向 自己控制 不给父控件控制权限

上代码

public class CustomRecyclerView extends RecyclerView {
    private int mTouchSlop;
    public CustomRecyclerView(Context context) {
        super(context);
        final ViewConfiguration vc = ViewConfiguration.get(context);
        mTouchSlop = vc.getScaledTouchSlop();
    }

    public CustomRecyclerView(Context context, @Nullable AttributeSet attrs) {
        super(context, attrs);
        final ViewConfiguration vc = ViewConfiguration.get(context);
        mTouchSlop = vc.getScaledTouchSlop();
    }


    int move_x,move_y;
    @Override
    public boolean onTouchEvent(MotionEvent e) {
        switch (e.getAction()){

            case MotionEvent.ACTION_DOWN:
                move_x = (int) e.getX();
                move_y = (int) e.getY();
                getParent().requestDisallowInterceptTouchEvent(true);
                Log.e("motion_event","down   x==y  "+move_x+" ==== "+move_y);
                break;
            case MotionEvent.ACTION_MOVE:
                Log.e("motion_event","move   x==y  "+move_x+" ==== "+move_y);
                int y = (int) e.getY();
                int x = (int) e.getX();
                if(Math.abs(y-move_y)>mTouchSlop&&Math.abs(x-move_x)<mTouchSlop*2){
                    getParent().requestDisallowInterceptTouchEvent(false);
                }else {
                    getParent().requestDisallowInterceptTouchEvent(true);
                }
                break;
            case MotionEvent.ACTION_UP:
                Log.e("motion_event","up   x==y  "+move_x+" ==== "+move_y);
                break;
        }
        return super.onTouchEvent(e);
    }
}

问题解决
哈哈哈哈(周星驰笑)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,274评论 25 708
  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AGI阅读 16,009评论 3 119
  • 导演: 主演: 2016年拍摄,2017年6月在法国开始上映。 这是一部葡萄酒主题的电影,发生在勃艮第这个伟大的葡...
    陈岩ludovic阅读 309评论 0 1
  • 随着金融科技的发展,投资理财也是非常便捷的事情。 可是把钱存银行,放在余额宝,买个基金,炒个股票就代表你会理财了吗...
    小Z说道阅读 281评论 0 0
  • 好久没有写文了,始终觉得差点什么?但是,实际情况是懒,又不想跟风去讨论一些热点话题,毕竟没有新颖的想法,不免会弄巧...
    孤危阅读 348评论 6 1