Android中事件传递的方法有三种:
1. 通过View的dispatchTouchEvent()方法进行事件传递。在这种方式下,事件首先由Activity的dispatchTouchEvent()方法调用,然后传递给根布局的dispatchTouchEvent()方法,再逐级传递给子View的dispatchTouchEvent()方法,直到找到最终的事件接收者。
2. 通过View的onTouchEvent()方法进行事件传递。在这种方式下,事件从最终的接收者开始传递,逐级向上传递到根布局,直到Activity的onTouchEvent()方法。
3. 通过ViewGroup的onInterceptTouchEvent()方法进行事件传递。在这种方式下,事件首先传递给根布局的onInterceptTouchEvent()方法,然后传递给子View的onInterceptTouchEvent()方法,如果某个子View的onInterceptTouchEvent()方法返回true,则该子View成为事件的接收者,否则继续向下传递,直到找到最终的接收者。
网友留言: