美文网首页Android开发Android知识Android技术知识
一张图简单看懂View事件的分发机制

一张图简单看懂View事件的分发机制

作者: kermitye | 来源:发表于2017-02-27 12:16 被阅读96次

    在Android中View的事件分发机制是一个很重要的知识点,为了思路更清晰就稍做了下整理,如有错误还请指教。

    1.首先事件从上层Activity开始进行分发给ViewGroup的dispatchTouchEvent

    2.ViewGroup中的dispatchTouchEvent有三种结果:

       <1>返回true 事件终止
       <2>返回fase 事件将不分发,不往下传递,回溯至Activty也就是父级中的onTouchEvent中
       <3>返回super.dispatchTouchEvent 相当于调用自身的onInterceptTouchEvent询问是否拦截

    3.ViewGroup中的onInterceptTouchEvent同样三种结果代表含义为:

      <1>返回true 将此事件拦截自己调用自身的onTouchEvent
      <2>返回fase与返回super时结果一样代表不拦截此事件,将些事件往下传递至View的dispatchTouceEvent

    4.View中dispatchTouceEvent中结果所代表的含义为:

    <1>返回true 事件终止
    <2>返回fase 事件将不分发,不往下传递,回溯至父级也就是ViewGroup中的onTouchEvent中
    <3>返回super.dispatchTouchEvent 因为View中没有拦截器 所以此时相当于调用自身的onTouchEvent

    5.View中onTouchEvent结果代表的含义:

    <1>返回true 事件终止
    <2>返回fase或super 事件将往上层传递,传递给父级中的onTouchEvent

    最后,在此感谢网络中无私分享的大神们。

    参考资料:图解 Android 事件分发机制

    相关文章

      网友评论

        本文标题:一张图简单看懂View事件的分发机制

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