美文网首页
onTouch事件分发

onTouch事件分发

作者: 淹死丶的鱼 | 来源:发表于2019-12-12 11:59 被阅读0次
    手指按下的时候ViewGroup 会调用dispatchTouchEvent-> image.png

    接着就执行了


    image.png
    image.png
    走到了子View的dispatchTouchEvent->会调用onTouchEvent如果返回为false的话result是不会等于true的

    返回值就是false


    image.png
    image.png

    关键来了-> 如果子View
    dispatchTouchEvent返回false 父布局dispatchTransformedTouchEvent也返回false
    dispatchTouchEvent里面的的 newTouchTarget = addTouchTarget(child, idBitsToAssign);就不会执行下面的 if(mFirstTouchTarget != null)的判断都不会走
    下一次进来的时候 因为mFirstTouchTarget ==null 而且不是按下事件intercepted=true


    image.png

    再往下走因为 !intercepted = false进不了下面的判断
    里面的for循化 事件分发等都不会执行 所以onTouchEvent就不会执行


    image.png

    相关文章

      网友评论

          本文标题:onTouch事件分发

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