@Override public boolean dispatchTouchEvent(@NonNull MotionEvent event) { if (rippleDrawable != null && event.getAction() == MotionEvent.ACTION_DOWN) rippleDrawable.setHotspot(event.getX(), event.getY()); return super.dispatchTouchEvent(event); }
@Test public void onTouchEvent_shouldCallMovementMethodOnTouchEventWithSetMotionEvent() throws Exception { TestMovementMethod testMovementMethod = new TestMovementMethod(); textView.setMovementMethod(testMovementMethod); textView.setLayoutParams(new FrameLayout.LayoutParams(100, 100)); textView.measure(100, 100); MotionEvent event = MotionEvent.obtain(0, 0, 0, 0, 0, 0); textView.dispatchTouchEvent(event); assertEquals(testMovementMethod.event, event); }
@Override public boolean dispatchTouchEvent(MotionEvent ev) { switch (ev.getAction()) { case MotionEvent.ACTION_DOWN: Log.e(TAG, "dispatchTouchEvent ACTION_DOWN"); break; case MotionEvent.ACTION_MOVE: Log.e(TAG, "dispatchTouchEvent ACTION_MOVE"); break; case MotionEvent.ACTION_UP: Log.e(TAG, "dispatchTouchEvent ACTION_UP"); break; case MotionEvent.ACTION_CANCEL: Log.e(TAG, "dispatchTouchEvent ACTION_CANCEL"); break; default: break; } return super.dispatchTouchEvent(ev); }
@Override public boolean dispatchTouchEvent(MotionEvent event) { final int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: setInterceptClick(false); super.setHighlightColor(mHighlightColor); break; case MotionEvent.ACTION_CANCEL: case MotionEvent.ACTION_UP: super.setHighlightColor(Color.TRANSPARENT); break; default: break; } return super.dispatchTouchEvent(event); }
@Override public boolean dispatchTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: LogUtils.d("Test", "ACTION_DOWN"); // getParent().requestDisallowInterceptTouchEvent(true); // return true; break; case MotionEvent.ACTION_MOVE: LogUtils.d("Test", "ACTION_MOVE"); break; case MotionEvent.ACTION_UP: LogUtils.d("Test", "ACTION_UP"); // return true; break; case MotionEvent.ACTION_CANCEL: LogUtils.d("Test", "ACTION_CANCEL"); break; default: LogUtils.d("Test", "default"); break; } return super.dispatchTouchEvent(event); // return false; // return true; }