列表可以上下滚动里面的子View可以在整个屏幕拖动
1.自定义一个LayoutManager 继承 LinearLayoutManager 重写canScrollHorizontally 和 canScrollVertically方法

2.在adapter给item添加OnTouch 监听

3.实现监听然后再ACTION_DOWN自定义一个长按事件 将layoutManager 的isScrollEnabled置为false



4.在ACTION_UP移除消息和将layoutManager 的isScrollEnabled置为true

这样会存在一个问题列表滚动会出现卡顿现象解决方法recyclerView添加一个scroll监听在监听中移除消息

最终效果

demo地址 https://github.com/xd1997/recyclerViewDragDemo
如果有更好的方案欢迎大家指教。
网友评论