在android中同时动画4个不同的图像

时间:2016-04-06 05:27:03

标签: android animation android-animation translate-animation

我有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);

1 个答案:

答案 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);

每次递增计数器,以便开始不同的动画。 这是一个吉姆装备,但它是我能想到的最简单的方法。