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