ImageView 可见性在动画之前受到影响

Imageview visibility affected before animation

我正在我的项目中处理一些动画:

我有自己的动画class :

public class Anim1Foto implements Animator.AnimatorListener {
    private ImageView imagen1;
    private ImageView imagen2;

public Anim1Foto (ImageView pimagen1,ImageView pimagen2){
    this.imagen1 = pimagen1;
    this.imagen2 = pimagen2;
}
@Override
public void onAnimationStart(Animator animation) {

}

@Override
public void onAnimationEnd(Animator animation) {

    AnimatorSet as = new AnimatorSet();

    ObjectAnimator anim = ObjectAnimator.ofFloat(imagen1, "translationY", 0,200);
    anim.setDuration(2500);


     as.playSequentially(anim);
    as.start();

    imagen1.setVisibility(View.INVISIBLE);

}

@Override
public void onAnimationCancel(Animator animation) {

}

@Override
public void onAnimationRepeat(Animator animation) {

    }
}

我想做的是翻译我的 Imageview,然后用 "setVisibility(INVISIBLE)" 让它消失,但我得到的是在做了一些测试之后,imageview 一开始根本没有出现它让我得出结论:可见性在 animatorSet 开始之前受到影响……我猜错了?如果是这样,这样做的正确方法是什么?

请试试这个:-

public class Anim1Foto implements Animator.AnimatorListener {
    private ImageView imagen1;
    private ImageView imagen2;

public Anim1Foto (ImageView pimagen1,ImageView pimagen2){
    this.imagen1 = pimagen1;
    this.imagen2 = pimagen2;
}
@Override
public void onAnimationStart(Animator animation) {

}

@Override
public void onAnimationEnd(Animator animation) {

    AnimatorSet as = new AnimatorSet();

    ObjectAnimator anim = ObjectAnimator.ofFloat(imagen1, "translationY", 0,200);
    anim.setDuration(2500);


     as.playSequentially(anim);
    as.start();

    anim.addListener(new Animator.AnimatorListener() {
            @Override
            public void onAnimationStart(Animator animation) {

            }

            @Override
            public void onAnimationEnd(Animator animation) {
                imagen1.setVisibility(View.INVISIBLE);
            }

            @Override
            public void onAnimationCancel(Animator animation) {

            }

            @Override
            public void onAnimationRepeat(Animator animation) {

            }
        });

}

@Override
public void onAnimationCancel(Animator animation) {

}

@Override
public void onAnimationRepeat(Animator animation) {

    }
}