读书人

android系统(五) android 输入事件处

发布时间: 2012-07-01 13:15:00 作者: rapoo

android系统(5) android 输入事件处理流程 (下)
接着3讲

PhoneWindow中

public boolean dispatchTouchEvent(MotionEvent ev) {      ...     final int count = mChildrenCount;    for (int i = count - 1; i >= 0; i--) {        final View child = children[i];        if ((child.mViewFlags & VISIBILITY_MASK) == VISIBLE                            || child.getAnimation() != null) {            child.getHitRect(frame);            if (frame.contains(scrolledXInt, scrolledYInt)) {                ev.setLocation(xc, yc);                child.mPrivateFlags &= ~CANCEL_NEXT_UP_EVENT;                if (child.dispatchTouchEvent(ev))  {                     mMotionTarget = child;                     return true;                }             }        }    }     ...


ViewGroup 中会遍历各个子View 并传递touch事件,直至该事件被处理

至于3中如何从 ViewRoot 到 PhoneWindow 目前没有看明白 还请各位大侠不吝赐教, 任何疑问或者错误 欢迎指正 谢谢~

读书人网 >Android

热点推荐