盒子
盒子
Posts List
  1. 滑动冲突的原因
  2. 滑动冲突的表现
  3. 滑动冲突解决思路

scrollView嵌套ListVIew或者recyclerView滑动冲突解决办法

滑动冲突的原因

滑动事件ACTION_MOVE被父容器或者子吸收,并不传递。

滑动冲突的表现

滑动冲突常有两种表现

不同向滑动,即横向活动与纵向滑动嵌套

常见的如:
viewpager嵌套swipeRefreshLayout 会导致viewpager滑动无效。

同向滑动,即都是横向滑动或者都是纵向滑动

滑动冲突解决思路

重写父容器的onInterceptTouchEvent 方法。

对于不同向滑动,根据滑动的方向,(水平滑动距离与垂直滑动距离)确定是否要拦截事件或分发事件。

同向滑动,需要确定产品具体逻辑,如在内部滑动到顶或者到底的时候,让父容器拦截掉事件。

注:ACTION_DOWN事件都不要拦截,否则子收不到后续事件。

支持一下
扫一扫,支持牛头码农