Я задал этот вопрос несколько дней назад, и, хотя он, кажется, поставил меня на правильный путь, я забыл включить некоторые детали, которые полностью изменяют работу кода.
Теперь я могу вращать изображение из его центра.Но приложение, которое я создаю, будет пересчитывать ваше местоположение каждые 3 секунды или около того, и оно должно обновлять, куда указывает стрелка, исходя из этого.
Прямо сейчас, стрелка поворачивается на 90 градусов, потому что это то, чтоXML-файл говорит это делать.После поворота он также возвращается в исходное положение.
Я просматривал документацию, но не могу найти то, что мне нужно:
1) Изображение остается вего место после завершения вращения, пока не начнется следующее вращение
2) Выполните вращение из кода, а не из файла конфигурации XML.
Я собираюсь вернуться к использованиюМатрица для этого?
Я пробовал это с кодом, но он ничего не делает:
private ImageView img;
img=(ImageView)findViewById(R.id.ImageView01);
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.refresh);
int w = bmp.getWidth();
int h = bmp.getHeight();
Bitmap newBMP = Bitmap.createBitmap(bmp, 0, 0, w, h);
BitmapDrawable bmd = new BitmapDrawable(newBMP);
//Put the bitmap on the screen
img.setImageDrawable(bmd);
public RotateAnimation rotateArr;
//Method won't accept doubles for some reason...
float fromDegrees = (float) 0.0;
float toDegrees = (float) 90.0;
float pivotXValue = (float) 0.5;
float pivotYValue = (float) 0.5;
rotateArr = new RotateAnimation(fromDegrees, toDegrees, Animation.RELATIVE_TO_SELF, pivotXValue, Animation.RELATIVE_TO_SELF, pivotYValue);
//start the animation with parameters specified in res/anim/rotate
img.startAnimation(rotateArr);