美文网首页
android事件的传递

android事件的传递

作者: super大磊 | 来源:发表于2018-02-07 15:01 被阅读0次

    1.定义为View为控件的最小单位,activity拥有onTouchEvent(),dispatchTouchEvent();View拥有onTouchEvent(),dispatchTouchEvent(),ViewGroup拥有onTouchEvent(),dispatchTouchEvent(),以及onInterceptTouchEvent();通过自定义一个textview,来点击它,得到日志,总结为流程图

    2.通过流程图我们很清晰得到以下三点结论:

        A.触摸事件的流 程传递是从disPatchTouchEvent()开始的,若人为不干涉(返回super),则事件会依照嵌套顺序从最外层向内层传递,如果到达最内层view时,会调用它的onTouchEvent()来进行消费处理,若消费不了,返回false,这时候事件会重新向外传递,并由外层View的onTouchEvent()来消费,以此类推。

       B.ViewGroup通过onInterceptTouchEvent()方法对事件进行拦截,如果该方法返回true,则事件不会继续传给子View,若为super或者false,则不会拦截,继续传给内层子view。

       C.在子view中对事件进行消费后,ViewGroup将收不到任何事件。

    相关文章

      网友评论

          本文标题:android事件的传递

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