Android, что должно быть точка поворота, чтобы повернуть изображение вокруг своего центра базы
Пожалуйста, внимательно прочитайте весь вопрос, прежде чем отмечать дубликат или закрывать его.
Я хочу повернуть изображение (особенноизображение стрелки) вокруг его центральной точки базы.
например При запуске мое изображение будет похоже на секундную стрелку на часах 9. И предположим, что если я поверну это изображение на 30 градусов, оно должно выглядеть как секундная стрелка на 10, а если 120 градусная секундная стрелка на 1.
Поэтому я хочу повернуть это изображение вокруг его центра (вдоль оси x) основания.
Так что я должен передать как Pivot (X & Y), если я первый код
imageView.setPivotX(1f);
imageView.setPivotY(1f);
imageView.setRotation(-30);
или второй код
Matrix matrix = new Matrix();
imageView.setScaleType(ScaleType.MATRIX);
matrix.postRotate((float) 20, 0f, 0f);
imageView.setImageMatrix(matrix);
или третий код
Bitmap myImg = BitmapFactory.decodeResource(getResources(), R.drawable.arrow_0_degree);
Matrix matrix = new Matrix();
matrix.postRotate(30);
Bitmap rotated = Bitmap.createBitmap(myImg, 0, 1, myImg.getWidth(), myImg.getHeight(), matrix, true);
imageView.setImageBitmap(rotated);
или четвертый код
final RotateAnimation rotateAnim = new RotateAnimation(0.0f, degree,
RotateAnimation.RELATIVE_TO_SELF, 0.5f,
RotateAnimation.RELATIVE_TO_SELF, 0.5f);
rotateAnim.setDuration(0);
rotateAnim.setFillAfter(true);
imgview.startAnimation(rotateAnim);
Для лучшего понимания добавлено изображение, которое поворачивается на 90 градусов по часовой стрелке.
И я надеюсь, что в будущем Google добавит еще и ясную документацию по опорным точкам.
Заранее спасибо.