当 ImageView 动画结束时发生一些事情

Make something happen when ImageView animation is over

假设我有以下代码:

img1.animate().alpha(.5f).setDuration(300);

我想在动画结束时执行这个

img1.setImageReasource(R.drawble.img_guitar);

我该怎么做?

您可以为您的动画添加一个侦听器:

imageView.animate().setAnimationListener(new Animation.AnimationListener() {
    @Override
    public void onAnimationStart(Animation animation) {

    }

    @Override
    public void onAnimationEnd(Animation animation) {
        imageView.setImageResource(R.drawable.img_guitar);
    }

    @Override
    public void onAnimationRepeat(Animation animation) {

    }
});

您也可以使用 withActionEnd(Runnable):

imageView.animate().withEndAction(new Runnable() {
    @Override
    public void run() {
        imageView.setImageResource(R.drawable.img_guitar);
    }
})