как получить координаты imageview после анимации поворота в Android?

#android-animation

#android-анимация

Вопрос:

Я очень новичок в Android. Я разрабатываю игру с поездом. В игре я использую анимацию перевода для перемещения по горизонтали и RotateAnimation поворота моего поезда. Проблема в том, что я не могу получить координаты объекта во время его перемещения или вращения.

Например: при запуске игры мой поезд находится в (0,0) .Затем я повернул его на 90 градусов.

 Train=new ImageView(this);
Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.train);                   
BitmapDrawable bmd = new BitmapDrawable(bmp);

Train.setImageDrawable(bmd);
RotateAnimation r=new RotateAnimation(0,90,70,30);
r.setDuration(2000);
r.setFillAfter(true);
Train.startAnimation(r);
 

Теперь я хочу получить координаты поезда программно в конце анимации.
Я ищу это в Google с двух недель. До сих пор я не нашел никакого решения.

Есть ли способ найти координаты или нет?

Ответ №1:

Используйте AnimationListener для объекта класса RotateAnimation

и в методе onAnimationEnd слушателя попробуйте использовать метод Use View.getLocationOnScreen() и / или getLocationInWindow()