0

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

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

所以 ..

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

问题是,OK-Animation 的 Animation Listener 被击中,而无限动画的 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) { }

};
4

1 回答 1

0

无尽的动画没有尽头,所以什么都不会触发。您可能想使用onAnimationRepeat来知道动画在哪里重新启动(但是然后-您需要无休止的重复做什么?如果您需要一些元素来无休止地制作动画(即旋转繁忙的标记),请将其包裹在 ie 上FrameLayout并在那里种植您的动画和侦听器

于 2012-10-10T11:55:58.470 回答