Ecco il codice (da salvare come promemoria standard cui ricorrere in caso di necessità di ripasso)
OnTouchListener onTouchListener=new View.OnTouchListener() { Matrix matrice=new Matrix(); Matrix inversa=new Matrix(); @Override public boolean onTouch(View v, MotionEvent event) { switch (event.getAction()){ case MotionEvent.ACTION_DOWN: X=event.getX(); Y=event.getY(); break; case MotionEvent.ACTION_MOVE: currentX=event.getX(); currentY=event.getY(); pts=new float[]{0,0}; imageView.getImageMatrix().invert(inversa); inversa.mapPoints(pts); matrice.setTranslate(-pts[0]+currentX-X, -pts[1]+currentY-Y); imageView.setImageMatrix(matrice); X=currentX; Y=currentY; break; } return true; } }; imageView.setOnTouchListener(onTouchListener);
Nessun commento:
Posta un commento