由于一个电视机 Key事件传递出现了部分问题,但是五位方向键有时候出现问题
所以使用Activity完全接管了key事件的传递, 自己来控制焦点的变化和五位方向键的按下处理逻辑
在此温习一下key事件的传递, 日志如下
Key事件, 是从Activity分配下去, 然后View先处理, 最后Activity处理
Touch 事件
VG 只有dispatchTouchEvent 和 onInterceptTouchEvent 多一个 dispatchTransformedTouchEvent . VG.java没有ouTouchEvent, VG的onTouchEvent实际上是VG继承的View的, touch的处理和View也是一样的.
1.VG.dispatchTouchEvent ->
2.VG.onInterceptTouchEvent -> 如果被拦截了, 那就直接执行我自己的onTouch即可(也就是 super.dispatchTouchEvent)
3.VG.dispatchTransformedTouchEvent ->
如果onInterceptTouchEvent 返回的不是true, 也就是没有被拦截, 那么就开始进行向孩子分发, 如果没有孩子, 就执行我自己View的Touch
A 如果这个VG中没有孩子, 调用这个VG的View的dispatchTouchEvent也就是super.dispatchTouchEvent
5.super.dispatchTouchEvent最后会执行到:
mOnTouchListener.onTouch
6. onTouchEvent(event)