我有4个像动画一样的动画图片。但是我想同时为它们设置动画。没有人不应该在另一个之前或之后开始。当我执行下面的代码时,它不会同时启动。有人可以帮帮我吗?
Animation anim=AnimationUtils.loadAnimation(getActivity(), R.anim.translate);
ImageView image1=myView.findViewById(R.id.img1);
ImageView image2=myView.findViewById(R.id.img2);
ImageView image3=myView.findViewById(R.id.img3);
ImageView image4=myView.findViewById(R.id.img4);
image1.startAnimation(anim);
image2.startAnimation(anim);
image3.startAnimation(anim);
image4.startAnimation(anim);
答案 0 :(得分:1)
你可以尝试覆盖动画的OnAnimationStart
并在那里开始下一个动画。像这样:
int counter = 0;
image1.startAnimation(anim);
anim.setListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationStart(Animator animation) {
switch(counter){
case 0: image2.startAnimation(anim);
counter++;
break;
case 1: image3.startAnimation(anim);
counter++;
break;
case 2: image4.startAnimation(anim);
counter++;
}
}
image1.startAnimation(anim);
每次递增计数器,以便开始不同的动画。 这是一个吉姆装备,但它是我能想到的最简单的方法。