Android中touch event

找到组织 发布于 2014/12/08 15:56
阅读 164
收藏 0

在实现多点触控的时候看源码发现:

 if (onFilterTouchEventForSecurity(ev)) {
            final int action = ev.getAction();
            final int actionMasked = action & MotionEvent.ACTION_MASK;

            // Handle an initial down.
            if (actionMasked == MotionEvent.ACTION_DOWN) {
                // Throw away all previous state when starting a new touch gesture.
                // The framework may have dropped the up or cancel event for the previous gesture
                // due to an app switch, ANR, or some other state change.
                cancelAndClearTouchTargets(ev);
                resetTouchState();
            }
action为什么要和MotionEvent.ACTION_MASK做一个与操作呢,MotionEvent.ACTION_MASK本来就是255,与操作之后不还是action本什么,为什么还要与,求教

加载中
0
有明丶
有明丶
Action的后两位表示动作16位只有FF也就是255,但是java的int 是64位,而action也不只包含16位,多触点的情况下,前面的位数里还有action的其他信息,比如是第几个手指之类的,如果不屏蔽掉前面的高位,你是不能正常switch的
返回顶部
顶部