如何在动画结束后在android中隐藏图像

在我的Android应用程序中,当我点击任何一个所有图像都是动画时,我有五个图像视图。 我为所有图像设置了缩小和Zoomin动画。 动画完成后,所选图像视图将不可见。 在图像不可见之后,当我点击该图像视图位置时,它再次启动动画并且图像不可见。

放大动画:

  

缩小动画

   zoomin =AnimationUtils.loadAnimation(this, R.anim.zoom); zoomout=AnimationUtils.loadAnimation(this, R.anim.zoomout); ImageView v2 = (ImageView) findViewById(R.id.image2); v2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { v2.setAnimation(zoomin); v2.startAnimation(zoomin); v2.setAnimation(zoomout); v2.startAnimation(zoomout); v2.clearAnimation(); } }); 

将此代码添加到动画对象:

 animation.setAnimationListener(new AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationRepeat(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { v2.setImageResource(R.drawable.some_transparent_image); } }); 

出现此问题的原因是您在两个动画XML文件中添加了android:fillAfter =“true”。

从两个XML中删除“android:fillAfter =”true“或在两个文件中保留”android:fillAfter =“false”。

你必须处理该动画的动画监听器。

 zoomin.setAnimationListener(new AnimationListener() { @Override public void onAnimationStart(Animation animation) { } @Override public void onAnimationRepeat(Animation animation) { } @Override public void onAnimationEnd(Animation animation) { v2.setVisibility(View.GONE); } }); 

您需要使用透明图像您需要做的就是当您的动画结束时,您需要将透明图像设置为该图像的背景/ scr,从而替换之前的图像。

更改视图的可见性 不会解决您的问题

  v2.setVisibility(View.GONE); v2.setVisibility(View.INVISIBLE); 

如上所述导致您的视图无法点击,您将无法再次点击。

您只需更改图层的透明度即可。

 v2.setAlpha(0f);