我对一个问题感到困惑:
Animation animation = new TranslateAnimation(0, 0, 200, 0);
animation.setDuration(800);
animation.setFillAfter(true);
btnView.startAnimation(animation);
btnView.setVisibility(View.VISIBLE);
我正确运行此代码,但是当我添加以下代码时:
btnView.clearAnimation();
动画无法显示,此后如何清除动画?
答案 0 :(得分:6)
如果您想在动画完成后清除视图的动画
您必须覆盖视图的动画侦听器,然后清除动画
如果你希望你的视图回到初始位置,只需setFillafter(false);
animation.setAnimationListener(new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
// TODO set params of the view to required position
}
});
答案 1 :(得分:2)
要在完成动画设置后将动画设置为setFillAfter为假。