我使用ImageView在屏幕上移動來動畫,但我希望它在完成動畫時變爲不可見(使其看起來像離開了屏幕)。如何在Android動畫中使ImageView不可見
這是我試過的代碼:
translate.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
button.setText("Animation Started");
}
@Override
public void onAnimationEnd(Animation animation) {
brickimg.setVisibility(View.GONE);//This should make the ImageView invisible
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
然而,動畫永遠不會結束。它卡在AnimationStart上,所以在這種情況下發生的唯一情況是按鈕的文本被更改。有誰知道如何讓動畫結束,還是讓動畫完成後ImageView變得不可見?
編輯 - 這是我用來做動畫的代碼:
int x=brickimg.getRight()-brickimg.getLeft();
int y=brickimg.getBottom()-brickimg.getTop();
final TranslateAnimation translate = new TranslateAnimation(
Animation.ABSOLUTE,1000, Animation.ABSOLUTE,
x, Animation.ABSOLUTE,0,
Animation.ABSOLUTE,y);//How far it goes on the axis. The first x goes left, second x goes right, first y goes up, second goes down
translate.setDuration(300);//speed of the animation
translate.setFillEnabled(true);
translate.setFillAfter(true);
brickimg.startAnimation(translate);
你檢查,your_animation.setRepeatCount(0); ? –
你也可以參考這個鏈接http://stackoverflow.com/questions/19921968/how-to-hide-images-after-animation-end-in-android – Minp
你還可以分享代碼翻譯動畫的其他屬性設置? –