美文网首页android开发
NestedScrollView的bug处理,子view首次点击

NestedScrollView的bug处理,子view首次点击

作者: 你好好吖 | 来源:发表于2018-11-15 11:25 被阅读22次

这是NestedScrollView的一个bug,问题在于,mIsBeingDragged = !mScroller.isFinished();这句代码在onintercepttouchevent(事件拦截方法中)通过调试可以发现,当停止滑动之后点击子View时 !mScroller.isFinished()=false,所以mIsBeingDragged=true 会把事件拦截,子view无法接收到事件,因此无法响应

这个bug已经有一段时间了,但是还没有被修复。所以我们创建自己的NestedScrollView修复来解决这个问题。将NestedScrollView的代码全部复制一份出来,做如下修改即可

找到onInterceptTouchEvent的MotionEvent.ACTION_DOWN:

将mIsBeingDragged = !mScroller.isFinished();注释掉,下面加上一句mIsBeingDragged = false;即可,如下图所示:


image.png

然后将布局文件中的android.support.v4.widget.NestedScrollView替换为自己的NestedScrollView

相关文章

网友评论

    本文标题:NestedScrollView的bug处理,子view首次点击

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