img_id.setOnTouchListener(new OnTouchListener() { PointF DownPT = new PointF(); PointF StartPT = new PointF(); @Override public boolean onTouch(View v, MotionEvent event) { int eid = event.getAction(); switch (eid) { case MotionEvent.ACTION_MOVE : PointF mv = new PointF( event.getX() – DownPT.x, event.getY() – DownPT.y); img_id.setX((int)(StartPT.x+mv.x)); img_id.setY((int)(StartPT.y+mv.y)); StartPT = new PointF( img_id.getX(), img_id.getY() ); break; case MotionEvent.ACTION_DOWN : DownPT.x = event.getX(); DownPT.y = event.getY(); StartPT = new PointF( img_id.getX(), img_id.getY() ); break; case MotionEvent.ACTION_UP : break; default : break; } return true; } });