Получение абсолютного местоположения изображения после анимации перевода - PullRequest
0 голосов
/ 23 ноября 2011

У меня есть изображение.По нажатию кнопки анимация перевода происходит на изображениях так, что она скользит влево, и вы в конечном итоге видите только определенный процент изображения.

Есть ли способ, которым я могу получить положение изображения после анимации перевода?Я понимаю, что могу использовать слушателя анимации и сделать что-то в методе OnAnimationEnd.Тем не менее, я не уверен, что здесь делать ...

Как получить положение, в которое переместилось изображение, и установить его в качестве параметров макета для изображения?

Я мог быдействительно используйте вашу помощь здесь.

Ответы [ 2 ]

0 голосов
/ 09 августа 2015

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

animation.setFillAfter(true);

или в наборе Xml:

 fillAfter = "true"

Вот и все. Это заставит вид быть в новой позиции

0 голосов
/ 25 ноября 2011

Предположим, ваше текущее местоположение изображения x, y. Вы двигаетесь в направлении x 100, в направлении y 50. Таким образом, ваша текущая позиция - newx = x + 100, newy = y + 50. Вы разместите изображение, используя макет, внутри метода onAnimationEnd.

 TranslateAnimation TAnimation=new TranslateAnimation(0, 100, 0, 50)        
    TAnimation.setDuration(2000);
    TAnimation.setFillAfter(true);
    Image.startAnimation(TAnimation);
 TAnimation.setAnimationListener(new AnimationListener() {

        public void onAnimationStart(Animation animation) {

        }

        public void onAnimationRepeat(Animation animation) {

        }

        public void onAnimationEnd(Animation animation) {

            RelativeLayout RL=(RelativeLayout)findViewById(R.id.rl);
                param=new RelativeLayout.LayoutParams( LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);
            param.setMargins(x+100, y+50, 0, 0);
                Image.setLayoutParams(param);

        }
    });
...