在我的Android应用程序中,当我点击任何一个所有图像都是动画时,我有五个图像视图。我为所有图像设置了缩小和Zoomin动画。动画完成后,所选图像视图将不可见。在图像不可见之后,当我点击该图像视图位置时,它再次启动动画并且图像不可见。
放大动画:
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXScale="1"
android:toXScale="5"
android:fromYScale="1"
android:toYScale="5"
android:pivotX="50%"
android:pivotY="50%"
android:duration="1000"
android:fillAfter="true">
</scale>
缩小动画
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXScale="5"
android:toXScale="1"
android:fromYScale="5"
android:toYScale="1"
android:pivotX="50%"
android:pivotY="50%"
android:duration="1000"
android:fillAfter="true">
</scale>
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();
}
});
答案 0 :(得分:7)
将此代码添加到动画对象中:
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);
}
});
答案 1 :(得分:2)
因为您添加了此问题 机器人:fillAfter = “真” 在两个动画XML文件中。
从两个XML中删除“android:fillAfter =”true“或在两个文件中保留”android:fillAfter =“false”。
答案 2 :(得分:0)
您必须处理该动画的动画侦听器。
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);
}
});
答案 3 :(得分:0)
您需要使用透明图像 您需要做的就是当您的动画结束时,您需要将透明图像设置为该图像的背景/ scr,从而替换之前的图像。
更改视图的可见性 无法解决您的问题
v2.setVisibility(View.GONE);
v2.setVisibility(View.INVISIBLE);
如上所述导致您的观点无法点击,您将无法再次点击。
答案 4 :(得分:0)
您只需更改图层的透明度即可。
v2.setAlpha(0f);