2012-03-19 1 views
1

У меня есть активность с несколькими анимационными изображениями. У меня также есть один анималист, который слушает все мои анимации. В animlistener методы, которые я могу видеть, что объект анимации возвращен.Аниматор, слушайте, кто?

Вопрос в том, как я могу узнать, какие из моих анимаций вызывают анимацию-аниматор (или на каком изображении закончилась анимация)? Можно ли подключить идентификатор к моему объекту анимации? Поскольку числа изображений являются динамическими, я бы предпочел не создавать слушателя для каждой анимации.

+0

Почему вам нужно идентифицировать объект анимации? Что вы хотите сделать с ним внутри слушателя? –

+0

Я хотел бы запускать новые действия в представлении изображения в конце анимации. – xhist

ответ

0

Я не разработчик Android, но я googled «android animationlistener» и получил this API. По внешнему виду, я считаю, что объект Animation передается в метод. По крайней мере, для меня это так.

Если вам необходимо сопоставить это с каким-то оригинальным экземпляром, вы всегда можете реализовать какую-то таблицу поиска с помощью Карты.

0
class MyAnimationListener implements Animation.AnimationListener { 
    private View mView; 

    public MyAnimationListener(View view) { 
     mView = view; 
    } 

    public void onAnimationEnd(Animation animation) {} 
    public void onAnimationRepeat(Animation animation) {} 
    public void onAnimationStart(Animation animation) {} 
} 
+0

Если есть несколько аниматинов, активных одновременно, может быть немного сложно использовать это решение, я думаю. – xhist

0

благодаря кода выше, у меня есть еще один полезный пример здесь :)

public void hideSeekbarAnimated() { 
    Animation fadeoutAnimation = AnimationUtils.loadAnimation(mContext, R.anim.fadeout); 
    fadeoutAnimation.setAnimationListener(new AnimationListener() { 
     @Override 
     public void onAnimationStart(Animation animation) { 
      // TODO Auto-generated method stub 
     } 

     @Override 
     public void onAnimationRepeat(Animation animation) { 
      // TODO Auto-generated method stub 

     } 

     @Override 
     public void onAnimationEnd(Animation animation) { 
      // TODO Auto-generated method stub 

     } 
    }); 
    seekbarPageNavigation.startAnimation(fadeoutAnimation); 
} 

надеюсь, что это помогает, просто искал тот же ответ :)

Смежные вопросы