在android studio中自动更改动画
我试着做一些事情,比如当我单击一个按钮时,它将运行一个动画,然后在第一个动画完成后,它将更改为另一个不同的动画。我正在为动画使用动画列表 我正在使用if-else更改动画,但是如何在第一个条件下实现另一个动画在android studio中自动更改动画,android,animation,Android,Animation,我试着做一些事情,比如当我单击一个按钮时,它将运行一个动画,然后在第一个动画完成后,它将更改为另一个不同的动画。我正在为动画使用动画列表 我正在使用if-else更改动画,但是如何在第一个条件下实现另一个动画 if(i == 0) { //if 1st time click the button, it will transform from fattest to fat... transformAnimation.start(); i++; } if(i == 1) {
if(i == 0)
{
//if 1st time click the button, it will transform from fattest to fat...
transformAnimation.start();
i++;
}
if(i == 1)
{
iv.setImageResource(R.drawable.transform_2);
transformToSlim = (AnimationDrawable) iv.getDrawable();
transformToSlim.start();
i++;
}
else if(i == 2)
{
iv.setImageResource(R.drawable.transform_3);
transformToSlimmest = (AnimationDrawable) iv.getDrawable();
transformToSlimmest.start();
}
}
这方面的一些东西应该适合你:
transformAnimation.setAnimationListener(新建Animation.AnimationListener()){
@凌驾
动画开始时的公共void(动画arg0){
}
@凌驾
AnimationRepeat上的公共无效(动画arg0){
}
@凌驾
onAnimationEnd上的公共无效(动画arg0){
transformToSlim.start();
}
});
transformToSlim.setAnimationListener(新的Animation.AnimationListener(){
@凌驾
动画开始时的公共void(动画arg0){
}
@凌驾
AnimationRepeat上的公共无效(动画arg0){
}
@凌驾
onAnimationEnd上的公共无效(动画arg0){
transformtoslimest.start();
}
});
这会将侦听器添加到动画中,如果当前动画结束,将触发下一个动画。使用此代码在第一个动画结束时启动第二个动画:
Animation animation1 = ...;
animation1.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {}
@Override
public void onAnimationEnd(Animation animation) {
Animation animation2 = ...;
animation2.start();
}
@Override
public void onAnimationRepeat(Animation animation) {}
});
animation1.start();
第一个动画完成后,应启动其他动画。