首先盗用一张图:
核心方法说明:
/**
* 源码分析:Activity.dispatchTouchEvent()
*/
public boolean dispatchTouchEvent(MotionEvent ev) {
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
onUserInteraction(); ----空方法,当activity在栈顶时点击home,back,menu时调用
}
if (getWindow().superDispatchTouchEvent(ev)) {
return true; ----其实是条用viewGroup的dispatchTouchEvent();
}
return onTouchEvent(ev);
}/**
* 源码分析:Activity.d