首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android系统(五) android 输入事件处理流程 (下)

2012-07-01 
android系统(5) android 输入事件处理流程 (下)接着3讲PhoneWindow中public boolean dispatchTouchEvent(M

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 目前没有看明白 还请各位大侠不吝赐教, 任何疑问或者错误 欢迎指正 谢谢~

热点排行