@Override public boolean onTouchEvent(MotionEvent event) { int touchX = (int) event.getRawX(); int touchY = (int) event.getRawY(); int touchX1 = (int) event.getX(); int touchY1 = (int) event.getY(); /*getX()是表示view相对于自身左上角的x坐标, 而getRawX()是表示相对于屏幕左上角的x坐标值 (注意:这个屏幕左上角是手机屏幕左上角, 不管activity是否有titleBar或是否全屏幕) */ Rect rect = new Rect(); getGlobalVisibleRect(rect); // 用Rect将控件框起来 rect.left = rect.right - 40; // 将Rect的范围缩小到图片显示区域,只有点击落在改区域才会删除输入文字 if (length() > 1) { // 当有文字输入时在进行操作 if (rect.contains(touchX, touchY)) { setCompoundDrawablesWithIntrinsicBounds(null, null, deleteAllDown, null); } else { setCompoundDrawablesWithIntrinsicBounds(null, null, deleteAllOn, null); } if (event.getAction() == MotionEvent.ACTION_UP) { if (rect.contains(touchX, touchY)) { setText(""); // 清除输入的字符串 } setDraw(); // 重绘 } } return super.onTouchEvent(event); }
@Override public boolean onFling(MotionEvent start, MotionEvent finish, float v, float v2) { if (start.getRawY() - finish.getRawY() > (screenHeight / 2.5)) { this.finish(); } return true; }
@Override public boolean handleMotionEvent(MotionEvent event) { if ((event.getSource() & InputDevice.SOURCE_JOYSTICK) != 0) { int actionPointerIndex = event.getActionIndex(); int action = event.getActionMasked(); switch (action) { case MotionEvent.ACTION_MOVE: SDLJoystick joystick = getJoystick(event.getDeviceId()); if (joystick != null) { for (int i = 0; i < joystick.axes.size(); i++) { InputDevice.MotionRange range = joystick.axes.get(i); /* Normalize the value to -1...1 */ float value = (event.getAxisValue(range.getAxis(), actionPointerIndex) - range.getMin()) / range.getRange() * 2.0f - 1.0f; SDLActivity.onNativeJoy(joystick.device_id, i, value); } } break; default: break; } } return true; }
@Override public boolean onTouch(View v, MotionEvent event) { builder.setLength(0); switch (event.getAction()) { case MotionEvent.ACTION_DOWN: builder.append("down, "); break; case MotionEvent.ACTION_MOVE: builder.append("move, "); break; case MotionEvent.ACTION_CANCEL: builder.append("cancel, "); break; case MotionEvent.ACTION_UP: builder.append("up, "); break; } builder.append(event.getX()); builder.append(", "); builder.append(event.getY()); String text = builder.toString(); Log.d("TouchTest", text); textView.setText(text); return true; }
@Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { // Set up the Scroller for a fling float scrollTheta = vectorToScalarScroll( velocityX, velocityY, e2.getX() - mPieBounds.centerX(), e2.getY() - mPieBounds.centerY()); mScroller.fling( 0, (int) getPieRotation(), 0, (int) scrollTheta / FLING_VELOCITY_DOWNSCALE, 0, 0, Integer.MIN_VALUE, Integer.MAX_VALUE); // Start the animator and tell it to animate for the expected duration of the fling. if (Build.VERSION.SDK_INT >= 11) { mScrollAnimator.setDuration(mScroller.getDuration()); mScrollAnimator.start(); } return true; }
public boolean onTouchEvent(MotionEvent e) { x = e.getX(); y = e.getY(); // 更新を有効にする this.invalidate(); return true; }
/** * If the motion event was relative to the view which in ignored view list,return true; * * @param ev * @return */ private boolean isInIgnoredView(MotionEvent ev) { Rect rect = new Rect(); for (View v : ignoredViews) { v.getGlobalVisibleRect(rect); if (rect.contains((int) ev.getX(), (int) ev.getY())) return true; } return false; }
@Override public boolean onTrackballEvent(MotionEvent event) { // Log.i(logTag, "onTrackballEvent"); if (trackballEvent(event.getAction(), event.getX(), event.getY())) { postUpdate(); } return true; }
/** {@inheritDoc} */ public boolean onTouch(View view, MotionEvent motionEvent) { int action = motionEvent.getAction(); if (action == MotionEvent.ACTION_MOVE) { view.setX(view.getX() + motionEvent.getX() - (view.getWidth() / 2)); view.setY(view.getY() + motionEvent.getY() - (view.getHeight() / 2)); } return true; }
@Override public boolean onScroll(MotionEvent start, MotionEvent finish, float v, float v2) { if (start.getRawY() - finish.getRawY() > (screenHeight / 2.5)) { ImageView imageView = (ImageView) this.findViewById(R.id.gestureImage); imageView.setImageResource(R.drawable.up_pressed); } return true; }
// 새로운 볼 생성 public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { Ball NewBall = Ball.Create((int) event.getX(), (int) event.getY(), RAD); arBall.add(NewBall); invalidate(); return true; } return false; }
@Override public boolean onTouchEvent(MotionEvent event) { if (velocityTracker == null) { // If we do not have velocity tracker velocityTracker = VelocityTracker.obtain(); // then get one } velocityTracker.addMovement(event); // add this movement to it positiveScroll = true; switch (event.getAction()) { case MotionEvent.ACTION_DOWN: { if (!flinger.isFinished()) { // If scrolling, then stop now flinger.forceFinished(); } currentX = (int) event.getRawX(); currentY = (int) event.getRawY(); break; } case MotionEvent.ACTION_MOVE: { final int x2 = (int) event.getRawX(); final int y2 = (int) event.getRawY(); final int diffX = currentX - x2; final int diffY = currentY - y2; currentX = x2; currentY = y2; scrollBy(diffX, diffY); break; } case MotionEvent.ACTION_UP: { final VelocityTracker velocityTracker = this.velocityTracker; velocityTracker.computeCurrentVelocity(1000, maximumVelocity); int velocityX = (int) velocityTracker.getXVelocity(); int velocityY = (int) velocityTracker.getYVelocity(); if (Math.abs(velocityX) > minimumVelocity || Math.abs(velocityY) > minimumVelocity) { flinger.start( getActualScrollX(), getActualScrollY(), velocityX, velocityY, getMaxScrollX(), getMaxScrollY()); } else { if (this.velocityTracker != null) { // If the velocity less than threshold this.velocityTracker.recycle(); // recycle the tracker this.velocityTracker = null; } } break; } } return true; }
@Override public boolean onTouchEvent(MotionEvent event) { int x = (int) event.getX(); int y = (int) event.getY(); if (event.getAction() == MotionEvent.ACTION_MOVE) { gameManager.onTouchEvent(x, y); } invalidate(); return true; }
@Override public boolean onSingleTapUp(MotionEvent e) { ChartAxes axes = isAvailableTap(e.getX(), e.getY()); if (axes != null && tapPointListener != null) { tapPointListener.onTap(axes); currentPressedPoint = axes; refreshChart(0); } return true; }
// Touch events public boolean onTouch(View v, MotionEvent event) { int action = event.getAction(); float x = event.getX(); float y = event.getY(); float p = event.getPressure(); // TODO: Anything else we need to pass? SDLActivity.onNativeTouch(action, x, y, p); return true; }
private void handleLongPress(MotionEvent event) { QuranAyah result = getAyahFromCoordinates(event.getX(), event.getY()); if (result != null) { mImageView.highlightAyah(result.getSura(), result.getAyah()); mImageView.invalidate(); mImageView.performHapticFeedback(HapticFeedbackConstants.LONG_PRESS); // TODO Temporary UI until new UI is implemented new ShowAyahMenuTask().execute(result.getSura(), result.getAyah(), mPageNumber); } }
@Override public boolean onTrackballEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { onKeyDown(KeyEvent.KEYCODE_DPAD_CENTER, null); } else { ZLApplication.Instance() .getCurrentView() .onTrackballRotated((int) (10 * event.getX()), (int) (10 * event.getY())); } return true; }
@Override public boolean onDoubleTap(MotionEvent e) { ImageViewTouch2 imageView = mImageView; // Switch between the original scale and 3x scale. if (imageView.getScale() > 2F) { mImageView.zoomTo(1f); } else { mImageView.zoomToPoint(3f, e.getX(), e.getY()); } return true; }
@Override public boolean onTouch(View view, MotionEvent event) { String str = null; int i = 0; str = "x=" + event.getX(i) / view.getMeasuredWidth() + ",y=" + event.getY(i) / view.getMeasuredHeight(); textView.setText(str); return false; }
@Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) { // Set the pie rotation directly. float scrollTheta = vectorToScalarScroll( distanceX, distanceY, e2.getX() - mPieBounds.centerX(), e2.getY() - mPieBounds.centerY()); setPieRotation(getPieRotation() - (int) scrollTheta / FLING_VELOCITY_DOWNSCALE); return true; }
// 处理删除事件 @Override public boolean onTouchEvent(MotionEvent event) { if (imgAble != null && event.getAction() == MotionEvent.ACTION_UP) { int eventX = (int) event.getRawX(); int eventY = (int) event.getRawY(); Log.e(TAG, "eventX = " + eventX + "; eventY = " + eventY); Rect rect = new Rect(); getGlobalVisibleRect(rect); rect.left = rect.right - 50; if (rect.contains(eventX, eventY)) setText(""); } return super.onTouchEvent(event); }
@Override public void screenTouched(MotionEvent aEvent) { super.screenTouched(aEvent); if (!onScreenInput) { if (!touchedOverActionBar(aEvent.getY())) { uiFullscreen = true; setupDisplay(); } } else if (toggleFullscreenOverActionBar(aEvent.getY())) { setupDisplay(); } }
@Override public boolean onTouch(View view, MotionEvent motionEvent) { float xDelta = Math.abs(motionEvent.getRawX() - showcaseX); float yDelta = Math.abs(motionEvent.getRawY() - showcaseY); double distanceFromFocus = Math.sqrt(Math.pow(xDelta, 2) + Math.pow(yDelta, 2)); if (mOptions.hideOnClickOutside && distanceFromFocus > showcaseRadius) { this.hide(); return true; } return mOptions.block && distanceFromFocus > showcaseRadius; }
@Override public boolean onTouchEvent(MotionEvent event) { switch (event.getActionMasked()) { case MotionEvent.ACTION_DOWN: path.reset(); path.moveTo(event.getX(), event.getY()); break; case MotionEvent.ACTION_MOVE: path.lineTo(event.getX(), event.getY()); break; } return super.onTouchEvent(event); }
@Override public boolean onTouchEvent(MotionEvent event) { // Log.w( "a", "touch me " + Float.toString( event.getX() ) + ", " + Float.toString( // event.getY() ) ); float[] x = new float[event.getPointerCount()]; float[] y = new float[event.getPointerCount()]; for (int i = 0; i < event.getPointerCount(); i++) { x[i] = event.getX(i); y[i] = event.getY(i); } XoLib.input(1, x, y); mView.requestRender(); return true; }
@Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { final float xDistance = Math.abs(e1.getX() - e2.getX()); final float yDistance = Math.abs(e1.getY() - e2.getY()); if (xDistance > this.swipe_Max_Distance || yDistance > this.swipe_Max_Distance) return false; velocityX = Math.abs(velocityX); velocityY = Math.abs(velocityY); boolean result = false; if (velocityX > this.swipe_Min_Velocity && xDistance > this.swipe_Min_Distance) { if (e1.getX() > e2.getX()) // right to left this.listener.onSwipe(SWIPE_LEFT); else this.listener.onSwipe(SWIPE_RIGHT); result = true; } else if (velocityY > this.swipe_Min_Velocity && yDistance > this.swipe_Min_Distance) { if (e1.getY() > e2.getY()) // bottom to up this.listener.onSwipe(SWIPE_UP); else this.listener.onSwipe(SWIPE_DOWN); result = true; } return result; }
/** 当屏幕被触摸时调用 */ @Override public boolean onTouchEvent(MotionEvent event) { // 设置贝塞尔曲线的坐标为触摸时坐标 qStartX = (int) event.getX(); qStartY = (int) event.getY(); // 设置贝塞尔曲线的控制点坐标为终点坐标与起点坐标对应的差值的一半,注意这里不是曲线的中点 qControlX = Math.abs(qEndX - qStartX) / 2; qCOntrolY = Math.abs(qEndY - qStartY) / 2; // 设置控制点的横坐标不返回 cReturn = false; return super.onTouchEvent(event); }
@Override public boolean dispatchTouchEvent(MotionEvent ev) { super.dispatchTouchEvent(ev); boolean consumed = gesturedetector.onTouchEvent(ev); if (!consumed && ev.getAction() == MotionEvent.ACTION_DOWN) return true; else return consumed; }
@Override public boolean dispatchTouchEvent(MotionEvent event) { //// System.out.println("flipStarted" + flipStarted); if (flipStarted) return true; // if (header.isSourceSelectMode()) { if (header.dispatchTouchEvent(event)) { return true; } // if (pageIndexView.dispatchTouchEvent(event)) { // return true; // } // } if (enlargedMode) { current.onTouchEvent(event); } switch (event.getAction()) { case MotionEvent.ACTION_UP: return current.dispatchTouchEvent(event); case MotionEvent.ACTION_MOVE: { if (!enlargedMode) onTouchEvent(event); else current.onTouchEvent(event); } } return super.dispatchTouchEvent(event); }
@Override public boolean onTouch(View v, MotionEvent event) { // opened_position = mListView.getPositionForView((View) v.getParent()); switch (event.getActionMasked()) { case MotionEvent.ACTION_DOWN: { if (moptionsDisplay) { switch (v.getId()) { case 111111: if (SwipeType == Dismiss) { moptionsDisplay = false; performDismiss(mDownView_parent, temp_position); } else // if(old_mDownView!=null && // mDownView!=old_mDownView){ // ResetListItem(old_mDownView); // old_mDownView=null; // mDownView=null; // } tcallbacks.HalfSwipeListView(temp_position); return true; case 222222: tcallbacks.FullSwipeListView(temp_position); return true; } } } return false; } return false; }