事件分发:硬件 -> ViewRootImpl -> DecorView -> PhoneWindow -> Activity - > PhoneWindow -> DecorView -> ViewGroup
到达Activity,开始分析
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
onUserInteraction(); //默认是空方法,按屏幕、菜单键home键都会调用,可以做亮屏,等
}
if (getWindow().superDispatchTouchEvent(ev)) { //会到viewgroup里面去
return true;
}
return onTouchEvent(ev);