Android AnimationListener没有被点击

时间:2012-10-10 11:42:36

标签: android animation listener

我想用两种不同的动画创建某种imageGallery。 当点击当前可见的图像时,“OK-Image”将淡入(1秒,不重复),动画结束后,应显示下一张图像

每个图像都有无限重复的动画(普通视图,缩放视图)

所以..

  • 第1步:图像的无限动画(normal => zoom => normal ..)
  • 第2步:点击
  • 步骤3:显示“OK-Image”(1秒内淡入淡出)
  • 第1步......

问题是,OK-Animation的动画侦听器被击中,无限动画的Animationlistener没有...

@Override
public void onCreate(Bundle savedInstanceState) {
   fadeInOKAnimation = AnimationUtils.loadAnimation(this, R.anim.fadeinonce);
   fadePermanentAnimation = AnimationUtils.loadAnimation(this, R.anim.fadeininfinite);
   fadeInOKAnimation.setAnimationListener(fadeInOKAnimationListener);        
   fadePermanentAnimation.setAnimationListener(fadePermanentAnimationListener);
}


AnimationListener fadeInOKAnimationListener = new Animation.AnimationListener() {

   public void onAnimationEnd(Animation animation) 
   { 
      ThreadHelper.sleep(500);
      imgMessung.clearAnimation();
      int currentImageId = currentStateImage.getNormalImage();
      imgMessung.clearAnimation();
      imgMessung.setImageResource(currentImageId);
      imgMessung.startAnimation(fadePermanentAnimation);
   }

   public void onAnimationRepeat(Animation animation) { }

   public void onAnimationStart(Animation animation) { }
};


AnimationListener fadePermanentAnimationListener = new Animation.AnimationListener() {

   public void onAnimationEnd(Animation animation) { }

   public void onAnimationRepeat(Animation animation) {

      StateImage currentStateImage = messung.GetCurrentImage();

      if(currentImageState == ImageState.Normal)
      {
         int currentImageId = Integer.parseInt(currentStateImage.getNormalImage());
         imgMessung.setImageResource(currentImageId);
      }
      else
      {
         int currentImageId = Integer.parseInt(currentStateImage.getZoomedImage());
         imgMessung.setImageResource(currentImageId);
      }
   }

   public void onAnimationStart(Animation animation) { }

};

1 个答案:

答案 0 :(得分:0)

无尽动画无止境,所以不会触发任何动画。您可能希望使用onAnimationRepeat来了解动画重新启动的位置(但是 - 您需要无限重复的内容?如果您需要一些无限制动画的元素(即旋转繁忙的标记),请将其包裹起来,即{{1}并在那里种植你的动画和听众