美文网首页
Bug系列:SwipeRefreshLayout嵌套ViewPa

Bug系列:SwipeRefreshLayout嵌套ViewPa

作者: Antonylr | 来源:发表于2020-08-11 11:05 被阅读0次

    解决方案参考如下:
    https://www.jianshu.com/p/75d29ba99271

       private void startDragging(float y) {
            final float yDiff = y - mInitialDownY;
            if (yDiff > mTouchSlop && !mIsBeingDragged) {
                mInitialMotionY = mInitialDownY + mTouchSlop;
                mIsBeingDragged = true;
                mProgress.setAlpha(STARTING_PROGRESS_ALPHA);
            }
        }
    

    在startDragging方法中,如果滑动位移y坐标大于TouchSlop(通过getScaleTouchSlop()方法返回一个滑动距离),那就将mIsBeingDragged[是否拖动]设为true,所以罪魁祸首正是在此,因为我们滑动ViewPager的时候,无法保证完全水平的滑动,所以会引起ViewPager与SwipeRefreshLayout的滑动事件冲突,最终导致无法滑动ViewPager.

    相关文章

      网友评论

          本文标题:Bug系列:SwipeRefreshLayout嵌套ViewPa

          本文链接:https://www.haomeiwen.com/subject/ybmedktx.html