240 发简信
IP属地:北京
  • 非常好的一篇文章👍

    Android端MVVM从入门到实战(第一篇) - MVVM和四大官方组件

    1、MVVM简介 MVVM是相对于MVC和MVP的一个概念,是一种架构模式。 1.1 MVC 传统的MVC中,View改变通知Controller进行处理,Controlle...

  • 总结一下流程:
    事件分发从Action_Down开始,最初由Activity的dispatchTouchEvent()方法接收,不拦截不中断的正常分发流程:Activity的disPatchTouchEvent()方法到PhoneWindow的superDispatchTouchEvent方法,再到DecorView的superDispatchTouchEvent方法,再到ViewGroup的dispatchTouchEvent方法,在ViewGroup的dispatchTouchEvent方法中判断是否拦截,若拦截调用ViewGroup的onTouchEvent方法,该ViewGroup消费掉;若不拦截,该ViewGroup遍历子View根据点击的位置等条件判断是否为接收事件的子View,是,则分发给该子View的dispatchTouchEvent()方法,然后会调用View的onTouchEvent方法,在onTouchEvent方法中会判断该子View是否可点击,是,则事件最终传递到View的onClick方法消费;否则,事件返回向上传递,直到消费或者终止。

    在dispatchTouchEvent()方法中返回true或者false,事件不向下传递,只用调用super.dispatchTouchEvent方法,事件才会向下传递。
    在onTouchEvent()方法中返回true,事件在该方法中消费,不会向下或者向上传递;返回super.onTouchEvent方法,将会调用ViewonTouchEvent方法,判断长按事件和点击事件的执行条件存不存在,存在则会在点击事件中消费。
    在onInterceptTouchEvent()方法中返回true表示拦截事件,事件可能会在该ViewGroup中消费掉;返回false表示事件继续往下传递

    当某个View的onTouchEvent()返回true,那么事件不会向下或者向上传递,而Action_MOVE和Action_UP事件将会在该View的onTouchEvent方法中处理

  • 120
    Android事件分发机制详解:史上最全面、最易懂

    前言 Android事件分发机制是Android开发者必须了解的基础 网上有大量关于Android事件分发机制的文章,但存在一些问题:内容不全、思路不清晰、无源码分析、简单问...

  • 120
    Android View的绘制流程

    View的绘制和事件处理是两个重要的主题,上一篇《图解 Android事件分发机制》已经把事件的分发机制讲得比较详细了,这一篇是针对View的绘制,View的绘制如果你有所了...

  • 120
    Android 消息处理机制(Looper、Handler、MessageQueue,Message)

    Android 消息处理机制估计都被写烂了,但是依然还是要写一下,因为Android应用程序是通过消息来驱动的,Android某种意义上也可以说成是一个以消息驱动的系统,UI...