Наличие стрелки на цель в Android, в зависимости от вашего местоположения - PullRequest
0 голосов
/ 17 декабря 2011

Я задал этот вопрос несколько дней назад, и, хотя он, кажется, поставил меня на правильный путь, я забыл включить некоторые детали, которые полностью изменяют работу кода.

Теперь я могу вращать изображение из его центра.Но приложение, которое я создаю, будет пересчитывать ваше местоположение каждые 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);
...