java如何防止两个按钮同时设置动画?
我需要你的帮助
嗯。。。我用setAnimationListener(new AnimationListener{...});
来设置一系列按钮的动画,这些按钮只会闪烁一次
例如,如果列表中有button1、button2和button3要闪烁,那么我想要如下内容:
按钮1闪烁-->按钮2闪烁-->按钮3闪烁
这很好,但是如果我尝试在一个滚动中为同一个按钮设置两次动画,它只会在第三个按钮同时闪烁。如果我有按钮1、按钮1和按钮2,就会发生类似的情况
按钮1闪烁-->按钮1闪烁和按钮2闪烁
应在何时进行:
按钮1闪烁-->按钮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:安卓="http://schemas.安卓.com/apk/res/安卓">
<alpha 安卓:fromAlpha="1.0"
安卓:toAlpha="0.0"
安卓:interpolator="@安卓:anim/accelerate_interpolator"
安卓:duration="600"
安卓:repeatMode="reverse"
安卓:repeatCount="1" />
</set>
共 (0) 个答案