我不明白>>,&,?并且:在此计划中意味着:
case MotionEvent.ACTION_POINTER_UP: {
// Extract the index of the pointer that left the touch sensor
final int pointerIndex = (action & MotionEvent.ACTION_POINTER_INDEX_MASK)
>> MotionEvent.ACTION_POINTER_INDEX_SHIFT;
final int pointerId = ev.getPointerId(pointerIndex);
if (pointerId == mActivePointerId) {
// This was our active pointer going up. Choose a new
// active pointer and adjust accordingly.
final int newPointerIndex = pointerIndex == 0 ? 1 : 0;
mLastTouchX = ev.getX(newPointerIndex);
mLastTouchY = ev.getY(newPointerIndex);
mActivePointerId = ev.getPointerId(newPointerIndex);
}
break;
Run Code Online (Sandbox Code Playgroud)
你可以帮帮我吗 ?Google不会搜索非字母数字字符...
我们一次拿这些......
final int pointerIndex = (action & MotionEvent.ACTION_POINTER_INDEX_MASK)
>> MotionEvent.ACTION_POINTER_INDEX_SHIFT;
Run Code Online (Sandbox Code Playgroud)
这些是按位运算符.的&是与运算中的比特action和MotionEvent.ACTION_POINTER_INDEX_MASK在一起.
的>>正转向这一结果.
Binyamin 为您提供了一个关于按位运算符的好页面.
final int newPointerIndex = pointerIndex == 0 ? 1 : 0;
Run Code Online (Sandbox Code Playgroud)
这是一个三元运算符.基本上它是说"如果pointerIndex等于0,则返回1,否则返回0.你表达的方式是(布尔决定)?valueIfTrue:valueIfFalse
| 归档时间: |
|
| 查看次数: |
14986 次 |
| 最近记录: |