我使用翻译动画制作视图动画。我已经使用了setFillAfter(true)并且它成功动画了。
我的代码是。
final ImageView image= (ImageView) findViewById(R.id.image2);
image.setBackgroundResource(R.drawable.lamb);
final Animation animation = AnimationUtils.loadAnimation(this, R.anim.translate);
animation.setFillAfter(true);
image.startAnimation(animation);
animation.setAnimationListener(new AnimationListener()
{
public void onAnimationStart(Animation animation) { }
public void onAnimationRepeat(Animation animation) { }
public void onAnimationEnd(Animation animation)
{
Handler ss = new Handler();
ss.postDelayed(new Runnable()
{
public void run()
{
image.setVisibility(View.INVISIBLE);
}
} ,4000);
}
});
我使用Handler在4秒后隐藏图像视图,但它不会隐藏。如何在一段时间后隐藏图像?
动画结束后,我想在最后一个位置显示图像,所以我使用setFillAfter(true); 4秒后我隐藏了图像视图。
如何使图像不可见?
答案 0 :(得分:0)
您需要设置AnimationListener。当动画结束时,使视图不可见。
moveForward.setAnimationListener(new AnimationListener(){
@Override
public void onAnimationEnd(Animation animation) {
view.setVisibility(View.INVISIBLE);
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationStart(Animation animation) {
}
});
答案 1 :(得分:0)
image.clearAniamtion(),在setVisibility之前(View.INVISIBLE)