Я вращаю изображение, применяя onTouchListener
на image-view
. Все работает нормально, но я хочу остановить вращение изображения, когда оно достигнет 0 или 180 градусов (горизонтальный центр).
Вот пример кода, который я использую для поворота изображения
ImageView view = (ImageView) v;
if (mode == ZOOM)
{
float newDist = spacing(event);
if (newDist > 5f) {
matrix.set(savedMatrix);
float tScale = newDist / oldDist;
matrix.postScale(tScale, tScale, mid.x, mid.y);
}
//Rotate the image
if (lastEvent != null) {
newRot = rotation(event);
float r = newRot - d;
matrix.postRotate(r, view.getMeasuredWidth() / 2,
view.getMeasuredHeight() / 2);
}
}
private float rotation(MotionEvent event) {
double delta_x = (event.getX(0) - event.getX(1));
double delta_y = (event.getY(0) - event.getY(1));
double radians = Math.atan2(delta_y, delta_x);
return (float) Math.toDegrees(radians);
}
Этот код поворачивает изображение, но я хочу указать пользователю, что ваше изображение выровнено по center_horizontal
.
Спасибо за любую помощь.