是否可以在下面合并这两个动画?它可以工作,但是似乎不得不单独调用它们(2次调用start())很奇怪
ImageView rocketImage = (ImageView) findViewById(R.id.rocket_image);
rocketImage.setBackgroundResource(R.drawable.rocket_thrust);
rocketAnimation = (AnimationDrawable) rocketImage.getBackground();
rocketImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
rocketAnimation.start();
rocketImage.animate().x(100).y(100).withLayer().setDuration(500).start();
}
});
答案 0 :(得分:0)
请参见AnimatorSet并使用功能playTogether
。但是,正如您在评论中提到的,AnimationDrawable
与AnimatorSet
不兼容。在这种情况下,为确保两个动画一起开始,您可以这样编写
AnimationDrawable rocketAnimation = (AnimationDrawable) rocketImage.getBackground();
rocketImage.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
rocketImage.animate().x(100).y(100).withLayer().setDuration(500).setListener(new Animator.AnimatorListener() {
@Override
public void onAnimationStart(Animator animation) {
rocketAnimation.start();
}
@Override
public void onAnimationEnd(Animator animation) {
}
@Override
public void onAnimationCancel(Animator animation) {
}
@Override
public void onAnimationRepeat(Animator animation) {
}
}).start();
}
});