关键代码:
int sx = 0; int sy = 0; int x = 0; int y = 0; int finalY = 0; @Override public boolean onTouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: x = (int) imageView.getX(); y = (int) imageView.getY(); sx = (int) (event.getX()); sy = (int) (event.getY()); break; case MotionEvent.ACTION_MOVE: int tempx = (int) (event.getX() - sx); int tempy = (int) (event.getY() - sy); imageView.setX(x + tempx); imageView.setY(y + tempy); finalY = y + tempy; break; case MotionEvent.ACTION_UP: imageView.setX(1080 - imageView.getWidth()); imageView.setY(finalY); break; } return super.onTouchEvent(event); }