如何在动画结束后在android中显示图像?

时间:2013-10-18 10:42:20

标签: android android-animation

在我的Android应用程序中,当我点击所有(4)图像中的任何一个动画时,我有四个图像视图。我为所有图像设置了缩小动画。一旦动画结束,我就开始了新的活动。问题是一旦我点击后退按钮图像(所有4个)图像都是隐藏的。如果我从主屏幕启动应用程序,则显示图像。请任何人帮我如何在我点击后退按钮

后显示图像
synopsis.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            //synopsis.setBackgroundResource(R.drawable.aa);
            synopsis.startAnimation(animZoomOut);
            team.startAnimation(animZoomOut);
            music.startAnimation(animZoomOut);
            gallery.startAnimation(animZoomOut);

            //synopsis.startAnimation(android.R.anim.slide_in_left);
            animZoomOut.setAnimationListener(new AnimationListener() {

                @Override
                public void onAnimationStart(Animation animation) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onAnimationRepeat(Animation animation) {
                    // TODO Auto-generated method stub

                }

                @Override
                public void onAnimationEnd(Animation animation) {
                    // TODO Auto-generated method stub

                    intent = new Intent(HomeActivity.this, Activity_Synopisis.class);
                    startActivity(intent);
                }
            });

        }
    });

<?xml version="1.0" encoding="utf-8"?>

<scale
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="2000"
    android:fromXScale="1.0"
    android:fromYScale="1.0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toXScale="0"
    android:toYScale="0" >
</scale>

4 个答案:

答案 0 :(得分:0)

正在重新创建活动,因此动画结果消失了,您需要具有某种偏好或在包中传递变量,当动画加载后的活动时,将变量'animation_finished'设置为true然后只需检查imageview活动的oncreate:如果为true:正确显示/隐藏图像

答案 1 :(得分:0)

当新活动开始时,具有4个图像的旧活动将保持在该状态(即所有图像缩小),因此当您恢复旧活动时,您将看不到。一种解决方案是在旧活动的onResume()方法中将4个图像的状态设置为“正常”(即显示它们)。

答案 2 :(得分:0)

根据您的简短说明和我的理解,

intent = new Intent(HomeActivity.this,Activity_Synopisis.class); startActivity(意向);

synopsis.cancel();

team.cancel();

music.cancel();

gallery.cancel();

试试这个,它可以帮助你......

答案 3 :(得分:0)

感谢您的回答。

我用follo

解决了这个问题
synopsis.clearAnimation();
team.clearAnimation();
gallery.clearAnimation();
music.clearAnimation();

在Resume

中添加了以上代码行