Androide ImageView una rotación de dedo

Miré en muchos postes pero no podría encontrar la respuesta. Me gustaría girar una imagen raíz con otra pequeña imagen que se encuentra en la parte inferior de la imagen raíz.

Mientras que la rotación de su trabajo, pero la primera vez que lo presione, salta a 45 grados debido a la math.tan (), creo que tengo un problema de cálculo.

rotateImage.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View view, MotionEvent event) { final int action = MotionEventCompat.getActionMasked(event); switch (action) { case MotionEvent.ACTION_UP: break; case MotionEvent.ACTION_DOWN: rotateX = event.getRawX() - rotateImage.getWidth() / 2; rotateY = event.getRawY() - rotateImage.getHeight() / 2; break; case MotionEvent.ACTION_MOVE: float angle = (float) Math.toDegrees(Math.atan2(event.getRawY() - rotateY, event.getRawX() - rotateX)); if (angle < 0){ angle += 360; } mBinding.getRoot().setRotation(angle); } return true; } }); 

por favor aconséjame.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.