出现了滑动冲突问题,主要表现为横向RecyclerView滑动不灵敏,纵向RecyclerView滑动卡顿。
scrollview里面放Recyclerview 会导致view不回收,内存压力大;
最好使用 Recyclerview通过Item不同layout实现里面放两个横向的Recyclerview
二、问题分析
1.横向RecyclerView滑动不灵敏
针对该问题,解决的方案是根据当前滑动方向,水平还是垂直来判断这个事件到底该交给谁来处理。
一般情况下根据滑动路径形成的夹角(或者说是斜率如下图)、水平和竖直方向滑动速度差来判断。
2.纵向RecyclerView滑动卡顿
针对该问题,一般情况下必需通过业务逻辑来进行判断,决定到底谁来处理该事件。
三、滑动冲突解决方法
针对滑动冲突,一般有两个解决方法。
1.外部拦截法 事件都先经过父容器的拦截处理,如果不需要此事件就不拦截,这样就可以解决滑动冲突的问题。外部拦截法需要重写父容器的onInterceptTouchEvent()方法,在内部完成相应的拦截即可
@Override
public boolean onInterceptTouchEvent(