自由变奏曲式结构图:Android 触碰消息传递机制

来源:百度文库 编辑:中财网 时间:2024/04/30 02:02:19
在最近工作中遇到了一个问题,一个ImageView在接收MotionEvent的时候,只收到了ACTION_DOWN消息,而没有收到ACTION_MOVE和ACTION_UP等后续消息,查看代码好久也没有找到原因,后来在google搜索后才发现,Android触碰的消息传递过程中,内含了一个规则,即: 如果你的View在处理ACITON_DOWN消息的时候,如果返回的是FALSE,即代表当前的view没有处理此消息,则Android系统会认为你不会处理后续的ACTION_MOVE和ACITON_UP等消息,所以系统不会发送后续的消息给view。总结,如果你的view需要处理各种TOUCH消息,则你在TOUCH的第一个消息即ACTION_DOWN需要返回true,否则后续的所有的触碰消息将接收不到。