监听整个屏幕,当返回super.dispatchTouchEvent(ev);时触摸的动作还可以继续往下传递,这个意思就是屏幕原有的控件的监听不会受到干扰。当返回true时,代表触摸事件在dispatchTouchEvent 内完成了,不会再向下分发了,当返回false时,代表触摸事件在dispatchTouchEvent 内不进行操作,传递给下一级的监听。
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
//按下
if (ev.getAction() == MotionEvent.ACTION_DOWN) {
...
}
return super.dispatchTouchEvent(ev);
}
监听空白区域,简言之就是除控件外的监听,返回值同上。
@Override
public boolean onTouchEvent(MotionEvent event) {
//按下
if (event.getAction() == MotionEvent.ACTION_DOWN) {
...
}
return true;
}
用自己的语言描述的,有不对的地方,欢迎巨佬指正。