使用动画错误

error in using animation

我正在为我的小游戏使用淡入淡出

假设有 10 个图像我要闪烁(=立即淡出和淡入)。

点击图片时,图片会闪烁。

但是当我依次点击 img a、b、c、d 时,

之前眨眼的又眨眼

很喜欢

按键|闪烁

一个.............一个

b ..................a&b

c............ a,b,c

d ...............a,b,c,d

但是当我按下带有术语的图像时(可能是一秒钟左右),这并没有发生

我该怎么办?我正在使用

这样的 xml
<set xmlns:android="http://schemas.android.com/apk/res/android"
  android:interpolator="@android:anim/linear_interpolator">
<alpha
  android:fromAlpha="0.1"
  android:toAlpha="1.0"
  android:duration="300"/>
</set>

帮助!

------已添加代码

    private void col(int a) {
    B[a].startAnimation(animFadeOut);
    B[a].setBackgroundColor(col[arr[a]]);
    if (arr[a] > 8)
        B[a].setTextColor(0xffffffff);
    if (arr[a] <= 8)
        B[a].setTextColor(0xff000000);
    B[a].startAnimation(animFadeIn);
}

这个 col() 方法是我唯一使用动画的地方

我仔细检查了这个方法没有被重复调用,

说 a,b,c 在调用 col(c) 时闪烁(在上面的例子中)

正如我在评论中所说: "I think Jim is right. If you have an Animation object as member of your class, you could face this kind of issue. Set a specific Animation object for each ImageView."

既然您已经发布了代码,我可以看到您使用 animFadeOut 为所有视图设置了动画。 如果您在 col 方法中声明局部动画变量而不是使用 Class 变量,您的问题就可以解决。 与多个视图共享同一个动画对象可能会导致意外行为。

试试这个代码:

 private void col(int a) {
  B[a].startAnimation(AnimationUtils.loadAnimation(mContext, R.anim.my_animation));
  B[a].setBackgroundColor(col[arr[a]]);
  if (arr[a] > 8)
    B[a].setTextColor(0xffffffff);
  if (arr[a] <= 8)
    B[a].setTextColor(0xff000000);
  B[a].startAnimation(animFadeIn);
}