Android为TV端助力 事件分发机制

android事件分发机制,给控件设置ontouch监听事件,当ontouch返回true时,他就不会走onTouchEvent方法,要想走onTouchEvent方法
只需要返回ontouch返回false即可,特别注意的是按钮都是默认可以点击的,当使用imageview设置ontouch监听时,要想onTouchEvent不走,
必须保证,imageview是可以点击的,第二onTouch返回true!当onTouchEvent开始执行时会onTouch优先于onTouchEvent优先于onclick,然后
会走onTouchEvent的一系列ACTION_DOWN,ACTION_MOVE,ACTION_UP事件。需要注意的事这三种事件默认返回的都是true,如果你返回false
他就自动结束的这次事件,并且剩余的如ACTION_DOWN,ACTION_MOVE,ACTION_UP等都不会执行

1. Android事件分发是先传递到ViewGroup,再由ViewGroup传递到View的。

2. 在ViewGroup中可以通过onInterceptTouchEvent方法对事件传递进行拦截,onInterceptTouchEvent方法返回true代表不允许事件继续向子View传递,返回false代表不对事件进行拦截,默认返回false。

3. 子View中如果将传递的事件消费掉,ViewGroup中将无法接收到任何事件。

原文地址:https://www.cnblogs.com/xiaoxiaing/p/5253380.html