Android 使用动画时出错

Android 使用动画时出错,android,animation,Android,Animation,我的小游戏使用淡入淡出 假设有10个图像我想闪烁(=立即淡出和淡入) 单击图像时,图像将闪烁 但当我依次单击img a、b、c、d时 那个在眨眼之前眨眼的又眨眼了 很像 按键|闪烁 a、 ……a b、 。。。。。。。。。。。。。。。。。a&b酒店 c、 。。。。。。。。。。。。。。。。a、 b,c d。。。。。。。。。。。。。。。。a、 b、c、d 但是,当我按下带有术语的图像时(可能是一秒钟左右),这不会发生 我该怎么办?我使用的XML就像 <set xmlns:android="htt

我的小游戏使用淡入淡出

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

单击图像时,图像将闪烁

但当我依次单击img a、b、c、d时

那个在眨眼之前眨眼的又眨眼了

很像

按键|闪烁

a、 ……a

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);
}
private void col(int a){
B[a].开始活动(动物消退);
B[a].setBackgroundColor(col[arr[a]]);
如果(arr[a]>8)
B[a].setTextColor(0xffffffff);
如果(arr[a]如我在评论中所说:

“我认为Jim是对的。如果你班上有一个动画对象,你可能会遇到这种问题。为每个ImageView设置一个特定的动画对象。”

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

请尝试以下代码:

 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);
}
private void col(int a){
B[a].startAnimation(AnimationUtils.loadAnimation(mContext,R.anim.my_animation));
B[a].setBackgroundColor(col[arr[a]]);
如果(arr[a]>8)
B[a].setTextColor(0xffffffff);

if(arr[a]发布您的代码。我们知道动画本身的工作原理,它是如何应用于对象的,这似乎是个问题。我认为Jim是对的。如果您班上有一个动画对象,您可能会面临这种问题。为每个ImageView设置一个特定的动画对象。@Groco您能更具体地告诉我吗?我是p的新手编程和我试图制作一个动画的实例,但仍然不起作用。你能更准确地告诉我吗?我所做的就像是制作一个引用那些xml文件的动画数组……但这不起作用……帮我解决很多问题,这些问题正是我想要的。很好!!!那是因为你使用的是同一个动画对象与所有视图。我想是的。我不明白那里发生了什么,但现在我掌握了技术,谢谢。但是我有一个问题,你不能在B[I]之后随时播放动画。设置动画(动画)??每次我调用该方法时,附加动画都需要相当长的时间。