Java Code Examples for android.view.MotionEvent#ACTION_POINTER_INDEX_MASK
The following examples show how to use
android.view.MotionEvent#ACTION_POINTER_INDEX_MASK .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: HorizontalScrollView.java From android_9.0.0_r45 with Apache License 2.0 | 6 votes |
private void onSecondaryPointerUp(MotionEvent ev) { final int pointerIndex = (ev.getAction() & 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. // TODO: Make this decision more intelligent. final int newPointerIndex = pointerIndex == 0 ? 1 : 0; mLastMotionX = (int) ev.getX(newPointerIndex); mActivePointerId = ev.getPointerId(newPointerIndex); if (mVelocityTracker != null) { mVelocityTracker.clear(); } } }
Example 2
Source File: PLAAbsListView.java From Lay-s with MIT License | 6 votes |
private void onSecondaryPointerUp(MotionEvent ev) { final int pointerIndex = (ev.getAction() & 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. // TODO: Make this decision more intelligent. final int newPointerIndex = pointerIndex == 0 ? 1 : 0; mMotionX = (int) ev.getX(newPointerIndex); mMotionY = (int) ev.getY(newPointerIndex); mActivePointerId = ev.getPointerId(newPointerIndex); if (mVelocityTracker != null) { mVelocityTracker.clear(); } } }
Example 3
Source File: MultiTouchListener.java From photo-editor-android with MIT License | 6 votes |
@Override public boolean onTouch(View view, MotionEvent event) { mScaleGestureDetector.onTouchEvent(view, event); if (!isTranslateEnabled) { return true; } int action = event.getAction(); int x = (int) event.getRawX(); int y = (int) event.getRawY(); switch (action & event.getActionMasked()) { case MotionEvent.ACTION_DOWN: mPrevX = event.getX(); mPrevY = event.getY(); mPrevRawX = event.getRawX(); mPrevRawY = event.getRawY(); mActivePointerId = event.getPointerId(0); deleteView.setVisibility(View.VISIBLE); view.bringToFront(); firePhotoEditorSDKListener(view, true); break; case MotionEvent.ACTION_MOVE: int pointerIndexMove = event.findPointerIndex(mActivePointerId); if (pointerIndexMove != -1) { float currX = event.getX(pointerIndexMove); float currY = event.getY(pointerIndexMove); if (!mScaleGestureDetector.isInProgress()) { adjustTranslation(view, currX - mPrevX, currY - mPrevY); } } break; case MotionEvent.ACTION_CANCEL: mActivePointerId = INVALID_POINTER_ID; break; case MotionEvent.ACTION_UP: mActivePointerId = INVALID_POINTER_ID; if (isViewInBounds(deleteView, x, y)) { if (onMultiTouchListener != null) onMultiTouchListener.onRemoveViewListener(view); } else if (!isViewInBounds(photoEditImageView, x, y)) { view.animate().translationY(0).translationY(0); } deleteView.setVisibility(View.GONE); firePhotoEditorSDKListener(view, false); float mCurrentCancelX = event.getRawX(); float mCurrentCancelY = event.getRawY(); if (mCurrentCancelX == mPrevRawX || mCurrentCancelY == mPrevRawY) { if (view instanceof TextView) { if (onMultiTouchListener != null) { onMultiTouchListener.onEditTextClickListener( ((TextView) view).getText().toString(), ((TextView) view).getCurrentTextColor()); } if (onPhotoEditorSDKListener != null) { onPhotoEditorSDKListener.onEditTextChangeListener( ((TextView) view).getText().toString(), ((TextView) view).getCurrentTextColor()); } } } break; case MotionEvent.ACTION_POINTER_UP: int pointerIndexPointerUp = (action & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT; int pointerId = event.getPointerId(pointerIndexPointerUp); if (pointerId == mActivePointerId) { int newPointerIndex = pointerIndexPointerUp == 0 ? 1 : 0; mPrevX = event.getX(newPointerIndex); mPrevY = event.getY(newPointerIndex); mActivePointerId = event.getPointerId(newPointerIndex); } break; } return true; }
Example 4
Source File: PagedView.java From LB-Launcher with Apache License 2.0 | 6 votes |
private void onSecondaryPointerUp(MotionEvent ev) { final int pointerIndex = (ev.getAction() & 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. // TODO: Make this decision more intelligent. final int newPointerIndex = pointerIndex == 0 ? 1 : 0; mLastMotionX = mDownMotionX = ev.getX(newPointerIndex); mLastMotionY = ev.getY(newPointerIndex); mLastMotionXRemainder = 0; mActivePointerId = ev.getPointerId(newPointerIndex); if (mVelocityTracker != null) { mVelocityTracker.clear(); } } }
Example 5
Source File: PagedView.java From TurboLauncher with Apache License 2.0 | 6 votes |
private void onSecondaryPointerUp(MotionEvent ev) { final int pointerIndex = (ev.getAction() & 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. // TODO: Make this decision more intelligent. final int newPointerIndex = pointerIndex == 0 ? 1 : 0; mLastMotionX = mDownMotionX = ev.getX(newPointerIndex); mLastMotionY = ev.getY(newPointerIndex); mLastMotionXRemainder = 0; mActivePointerId = ev.getPointerId(newPointerIndex); if (mVelocityTracker != null) { mVelocityTracker.clear(); } } }
Example 6
Source File: BothScrollView.java From Nimingban with Apache License 2.0 | 6 votes |
private void onSecondaryPointerUp(MotionEvent ev) { final int pointerIndex = (ev.getAction() & 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. // TODO: Make this decision more intelligent. final int newPointerIndex = pointerIndex == 0 ? 1 : 0; mLastMotionX = (int) ev.getY(newPointerIndex); mLastMotionY = (int) ev.getY(newPointerIndex); mActivePointerId = ev.getPointerId(newPointerIndex); if (mVelocityTracker != null) { mVelocityTracker.clear(); } } }
Example 7
Source File: VersionedGestureDetector.java From jmessage-android-uikit with MIT License | 5 votes |
@Override public boolean onTouchEvent(MotionEvent ev) { final int action = ev.getAction(); switch (action & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: mActivePointerId = ev.getPointerId(0); break; case MotionEvent.ACTION_CANCEL: case MotionEvent.ACTION_UP: mActivePointerId = INVALID_POINTER_ID; break; case MotionEvent.ACTION_POINTER_UP: final int pointerIndex = (ev.getAction() & 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; mActivePointerId = ev.getPointerId(newPointerIndex); mLastTouchX = ev.getX(newPointerIndex); mLastTouchY = ev.getY(newPointerIndex); } break; } mActivePointerIndex = ev.findPointerIndex(mActivePointerId != INVALID_POINTER_ID ? mActivePointerId : 0); return super.onTouchEvent(ev); }
Example 8
Source File: MyScrollView.java From prayer-times-android with Apache License 2.0 | 5 votes |
private void onSecondaryPointerUp(@NonNull MotionEvent ev) { int pointerIndex = (ev.getAction() & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT; int pointerId = ev.getPointerId(pointerIndex); if (pointerId == mActivePointerId) { int newPointerIndex = (pointerIndex == 0) ? 1 : 0; mLastMotionY = ev.getY(newPointerIndex); mActivePointerId = ev.getPointerId(newPointerIndex); if (mVelocityTracker != null) { mVelocityTracker.clear(); } } }
Example 9
Source File: VersionedGestureDetector.java From iBeebo with GNU General Public License v3.0 | 5 votes |
@Override public boolean onTouchEvent(MotionEvent ev) { final int action = ev.getAction(); switch (action & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: mActivePointerId = ev.getPointerId(0); break; case MotionEvent.ACTION_CANCEL: case MotionEvent.ACTION_UP: mActivePointerId = INVALID_POINTER_ID; break; case MotionEvent.ACTION_POINTER_UP: final int pointerIndex = (ev.getAction() & 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; mActivePointerId = ev.getPointerId(newPointerIndex); mLastTouchX = ev.getX(newPointerIndex); mLastTouchY = ev.getY(newPointerIndex); } break; } mActivePointerIndex = ev.findPointerIndex(mActivePointerId != INVALID_POINTER_ID ? mActivePointerId : 0); return super.onTouchEvent(ev); }
Example 10
Source File: VersionedGestureDetector.java From jmessage-android-uikit with MIT License | 5 votes |
@Override public boolean onTouchEvent(MotionEvent ev) { final int action = ev.getAction(); switch (action & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: mActivePointerId = ev.getPointerId(0); break; case MotionEvent.ACTION_CANCEL: case MotionEvent.ACTION_UP: mActivePointerId = INVALID_POINTER_ID; break; case MotionEvent.ACTION_POINTER_UP: final int pointerIndex = (ev.getAction() & 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; mActivePointerId = ev.getPointerId(newPointerIndex); mLastTouchX = ev.getX(newPointerIndex); mLastTouchY = ev.getY(newPointerIndex); } break; } mActivePointerIndex = ev.findPointerIndex(mActivePointerId != INVALID_POINTER_ID ? mActivePointerId : 0); return super.onTouchEvent(ev); }
Example 11
Source File: CardStackView.java From timecat with Apache License 2.0 | 5 votes |
private void onSecondaryPointerUp(MotionEvent ev) { final int pointerIndex = (ev.getAction() & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT; final int pointerId = ev.getPointerId(pointerIndex); if (pointerId == mActivePointerId) { final int newPointerIndex = pointerIndex == 0 ? 1 : 0; mLastMotionY = (int) ev.getY(newPointerIndex); mActivePointerId = ev.getPointerId(newPointerIndex); if (mVelocityTracker != null) { mVelocityTracker.clear(); } } }
Example 12
Source File: MultiTouchHandler.java From Alite with GNU General Public License v3.0 | 4 votes |
@Override public boolean onTouch(View v, MotionEvent event) { if (freeze != -1 && (System.currentTimeMillis() - freeze) < delay) { return true; } freeze = -1; synchronized (this) { if (currentView != v) { return false; } scaleDetector.onTouchEvent(event); sweepDetector.onTouchEvent(event); int action = event.getAction() & MotionEvent.ACTION_MASK; int pointerIndex = (event.getAction() & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT; int pointerCount = event.getPointerCount(); TouchEvent touchEvent; for (int i = 0; i < MAX_TOUCHPOINTS; i++) { if (i >= pointerCount) { isTouched[i] = false; id[i] = -1; continue; } int pointerId = event.getPointerId(i); if (event.getAction() != MotionEvent.ACTION_MOVE && i != pointerIndex) { continue; } switch (action) { case MotionEvent.ACTION_DOWN: case MotionEvent.ACTION_POINTER_DOWN: touchEvent = touchEventPool.newObject(); touchEvent.type = TouchEvent.TOUCH_DOWN; touchEvent.pointer = pointerId; touchEvent.x = touchX[i] = (int) ((event.getX(i) - offsetX) * scaleX); touchEvent.y = touchY[i] = (int) ((event.getY(i) - offsetY) * scaleY); isTouched[i] = true; id[i] = pointerId; touchEventsBuffer.add(touchEvent); break; case MotionEvent.ACTION_UP: case MotionEvent.ACTION_POINTER_UP: case MotionEvent.ACTION_CANCEL: touchEvent = touchEventPool.newObject(); touchEvent.type = TouchEvent.TOUCH_UP; touchEvent.pointer = pointerId; touchEvent.x = touchX[i] = (int) ((event.getX(i) - offsetX) * scaleX); touchEvent.y = touchY[i] = (int) ((event.getY(i) - offsetY) * scaleY); isTouched[i] = false; id[i] = -1; touchEventsBuffer.add(touchEvent); break; case MotionEvent.ACTION_MOVE: touchEvent = touchEventPool.newObject(); touchEvent.type = TouchEvent.TOUCH_DRAGGED; touchEvent.pointer = pointerId; touchEvent.x = touchX[i] = (int) ((event.getX(i) - offsetX) * scaleX); touchEvent.y = touchY[i] = (int) ((event.getY(i) - offsetY) * scaleY); isTouched[i] = true; id[i] = pointerId; touchEventsBuffer.add(touchEvent); break; } } return true; } }
Example 13
Source File: Util.java From ImagePicker with Apache License 2.0 | 4 votes |
static int getPointerIndex(int action) { return (action & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT; }
Example 14
Source File: MultiTouchListener.java From PhotoEditor with MIT License | 4 votes |
@Override public boolean onTouch(View view, MotionEvent event) { mScaleGestureDetector.onTouchEvent(view, event); mGestureListener.onTouchEvent(event); if (!isTranslateEnabled) { return true; } int action = event.getAction(); int x = (int) event.getRawX(); int y = (int) event.getRawY(); switch (action & event.getActionMasked()) { case MotionEvent.ACTION_DOWN: mPrevX = event.getX(); mPrevY = event.getY(); mPrevRawX = event.getRawX(); mPrevRawY = event.getRawY(); mActivePointerId = event.getPointerId(0); if (deleteView != null) { deleteView.setVisibility(View.VISIBLE); } view.bringToFront(); firePhotoEditorSDKListener(view, true); break; case MotionEvent.ACTION_MOVE: int pointerIndexMove = event.findPointerIndex(mActivePointerId); if (pointerIndexMove != -1) { float currX = event.getX(pointerIndexMove); float currY = event.getY(pointerIndexMove); if (!mScaleGestureDetector.isInProgress()) { adjustTranslation(view, currX - mPrevX, currY - mPrevY); } } break; case MotionEvent.ACTION_CANCEL: mActivePointerId = INVALID_POINTER_ID; break; case MotionEvent.ACTION_UP: mActivePointerId = INVALID_POINTER_ID; if (deleteView != null && isViewInBounds(deleteView, x, y)) { if (onMultiTouchListener != null) onMultiTouchListener.onRemoveViewListener(view); } else if (!isViewInBounds(photoEditImageView, x, y)) { view.animate().translationY(0).translationY(0); } if (deleteView != null) { deleteView.setVisibility(View.GONE); } firePhotoEditorSDKListener(view, false); break; case MotionEvent.ACTION_POINTER_UP: int pointerIndexPointerUp = (action & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT; int pointerId = event.getPointerId(pointerIndexPointerUp); if (pointerId == mActivePointerId) { int newPointerIndex = pointerIndexPointerUp == 0 ? 1 : 0; mPrevX = event.getX(newPointerIndex); mPrevY = event.getY(newPointerIndex); mActivePointerId = event.getPointerId(newPointerIndex); } break; } return true; }
Example 15
Source File: Compat.java From GalleryFinal with Apache License 2.0 | 4 votes |
@TargetApi(VERSION_CODES.HONEYCOMB) private static int getPointerIndexHoneyComb(int action) { return (action & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT; }
Example 16
Source File: DynamicListView.java From Simple-Solitaire with GNU General Public License v3.0 | 4 votes |
@Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction() & MotionEvent.ACTION_MASK) { case MotionEvent.ACTION_DOWN: mDownX = (int) event.getX(); mDownY = (int) event.getY(); mActivePointerId = event.getPointerId(0); break; case MotionEvent.ACTION_MOVE: if (mActivePointerId == INVALID_POINTER_ID) { break; } int pointerIndex = event.findPointerIndex(mActivePointerId); mLastEventY = (int) event.getY(pointerIndex); int deltaY = mLastEventY - mDownY; if (mCellIsMobile) { mHoverCellCurrentBounds.offsetTo(mHoverCellOriginalBounds.left, mHoverCellOriginalBounds.top + deltaY + mTotalOffset); mHoverCell.setBounds(mHoverCellCurrentBounds); invalidate(); handleCellSwitch(); mIsMobileScrolling = false; handleMobileCellScroll(); return false; } break; case MotionEvent.ACTION_UP: touchEventsEnded(); break; case MotionEvent.ACTION_CANCEL: touchEventsCancelled(); break; case MotionEvent.ACTION_POINTER_UP: /* If a multitouch event took place and the original touch dictating * the movement of the hover cell has ended, then the dragging event * ends and the hover cell is animated to its corresponding position * in the listview. */ pointerIndex = (event.getAction() & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT; final int pointerId = event.getPointerId(pointerIndex); if (pointerId == mActivePointerId) { touchEventsEnded(); } break; default: break; } return super.onTouchEvent(event); }
Example 17
Source File: CropCompat.java From ImageSelector with Apache License 2.0 | 4 votes |
@TargetApi(VERSION_CODES.HONEYCOMB) private static int getPointerIndexHoneyComb(int action) { return (action & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT; }
Example 18
Source File: Compat.java From MoeGallery with GNU General Public License v3.0 | 4 votes |
@TargetApi(Build.VERSION_CODES.HONEYCOMB) private static int getPointerIndexHoneyComb(int action) { return (action & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT; }
Example 19
Source File: Util.java From giffun with Apache License 2.0 | 4 votes |
static int getPointerIndex(int action) { return (action & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT; }
Example 20
Source File: Compat.java From UltimateAndroid with Apache License 2.0 | 4 votes |
@TargetApi(VERSION_CODES.HONEYCOMB) private static int getPointerIndexHoneyComb(int action) { return (action & MotionEvent.ACTION_POINTER_INDEX_MASK) >> MotionEvent.ACTION_POINTER_INDEX_SHIFT; }