我需要你的帮助!
嗯......我正在使用setAnimationListener(new AnimationListener{...});
设置一系列按钮的动画,这些按钮只会闪烁一次。
例如,如果列表中的button1,button2和button3闪烁,那么我需要这样的内容:
button1闪烁 ---> 按钮2闪烁 ---> 按钮3闪烁
这样可以正常工作,但是如果我尝试在滚动中为同一个按钮设置两次动画,它就会与第三个按钮同时闪烁。如果我有button1,button1和button2,就会出现这种情况。
button1闪烁 ---> 按钮1闪烁,按钮2闪烁
什么时候应该去:
button1闪烁 ---> 按钮1闪烁 ---> 按钮2闪烁
代码:
public void animate(ArrayList<Animation> list){
final ArrayList<Animation> listAux = new ArrayList<Animation>();
listAux.addAll(list);
if(listAux.size() == 1){
animationMetod(listAux.get(0));
listAux.remove(0);
animate(listAux);
}
else if((listAux.size() >= 2)){
listAux.get(0).setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
listAux.remove(0);
animationMetod(listAux.get(0));
animate(listAux);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
} else {
listAux.clear();
}
}
public void animationMetod(Animation buttonBlink) {
if(buttonBlink == button1Blink){
button1.startAnimation(button1Blink);
}else if(buttonBlink == button2Blink) {
button2.startAnimation(button2Blink);
}else if(buttonBlink == button3Blink) {
button3.startAnimation(button3Blink);
}
}
这是blink的xml:
<?xml version="1.0" encoding="utf-8" ?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha android:fromAlpha="1.0"
android:toAlpha="0.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:duration="600"
android:repeatMode="reverse"
android:repeatCount="1" />
</set>