ViewGroup的事件分发
老师,想问一个问题,对于一个ViewGroup来说,它的onDispatchTouchEvent的返回值有什么作用呢?返回值true和false分别代表什么呢?
62
收起
正在回答
1回答
dispatchTouchEvent负责分发事件,在dispatchTouchEvent里通常会调用onTouchEvent表示执行事件,或者说消费事件,当dispatchTouchEvent:
返回true:表示事件被当前视图消费掉,事件不会在继续分发;
返回为super.dispatchTouchEvent:表示继续分发该事件;
返回false:表示事件停止往子View传递和分发,同时开始往父控件回溯(父控件的onTouchEvent开始从下往上回传直到某个onTouchEvent return true),事件分发机制就像递归,return false 的意义就是递归停止然后开始回溯;
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星