我想用两种不同的动画创建某种imageGallery。 当点击当前可见的图像时,“OK-Image”将淡入(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) { }
};
答案 0 :(得分:0)
无尽动画无止境,所以不会触发任何动画。您可能希望使用onAnimationRepeat来了解动画重新启动的位置(但是 - 您需要无限重复的内容?如果您需要一些无限制动画的元素(即旋转繁忙的标记),请将其包裹起来,即{{1}并在那里种植你的动画和听众