Android中事件传递的方法有三种:
通过View的dispatchTouchEvent()方法进行事件传递。在这种方式下,事件首先由Activity的dispatchTouchEvent()方法调用,然后传递给根布局的dispatchTouchEvent()方法,再逐级传递给子View的dispatchTouchEvent()方法,直到找到最终的事件接收者。
通过View的onTouchEvent()方法进行事件传递。在这种方式下,事件从最终的接收者开始传递,逐级向上传递到根布局,直到Activity的onTouchEvent()方法。
通过ViewGroup的onInterceptTouchEvent()方法进行事件传递。在这种方式下,事件首先传递给根布局的onInterceptTouchEvent()方法,然后传递给子View的onInterceptTouchEvent()方法,如果某个子View的onInterceptTouchEvent()方法返回true,则该子View成为事件的接收者,否则继续向下传递,直到找到最终的接收者。
辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
推荐阅读: Android编码对性能有何影响