Android 查看淡出动画并开始新活动

Android 查看淡出动画并开始新活动,android,animation,android-activity,view,fadeout,Android,Animation,Android Activity,View,Fadeout,好吧,我想做的是: 要淡出当前活动,使其完全成为ImageView, 并开始新的活动 但我得到的是: 视图很好地淡出,但当动画结束时,它会显示我大约半秒 相同的视图,然后启动新活动 谁能告诉我我做错了什么 谢谢 这是我的密码: public class FirstActivity extends Activity{ ImageView enterImage; Button next; @Override protected void onStart() { super.onStart

好吧,我想做的是: 要淡出当前活动,使其完全成为ImageView, 并开始新的活动

但我得到的是: 视图很好地淡出,但当动画结束时,它会显示我大约半秒 相同的视图,然后启动新活动

谁能告诉我我做错了什么

谢谢

这是我的密码:

public class FirstActivity extends Activity{

ImageView enterImage;
Button next;

@Override
protected void onStart() {
    super.onStart();
    setContentView(R.layout.activity_first);
     enterImage = (ImageView)findViewById(R.id.enterImg);
     next = (Button)findViewById(R.id.next);
     next.setOnClickListener( new OnClickListener() {
        @Override
        public void onClick(View v) {
            fadeOutAndHideImage(enterImage);
        }
    });

}

private void fadeOutAndHideImage(final ImageView img)
  {
    Animation fadeOut = new AlphaAnimation(1, 0);
    fadeOut.setInterpolator(new AccelerateInterpolator());
    fadeOut.setDuration(1500);

    fadeOut.setAnimationListener(new AnimationListener()
    {
            public void onAnimationEnd(Animation animation) 
            {
                finish();
                Intent i = new Intent(FirstActivity.this, SecondActivity.class);
                startActivity(i);
            }
            public void onAnimationRepeat(Animation animation) {}
            public void onAnimationStart(Animation animation) {}
    });

    img.startAnimation(fadeOut);


}

我认为问题在于你在淡化形象而不是活动。新活动在您实际调用后需要一点时间才能显示,并且在这段时间内,它会向您显示旧视图

试着完成这项任务;在startActivityi之后;通过这种方式,旧活动的结束动画隐藏在新活动的入口后面,这样可以避免问题,同时保持已实现的自定义图像淡入淡出


编辑:尝试在两个活动上使用此选项:Activity.overridePendingTransitionandroid.R.anim.fade_in,android.R.anim.fade_out;这需要同时放在onCreate和onPause方法中。

删除finish;排队看看这对你是否有效!这不是我曾经尝试过做的事情,但我的猜测很简单,因为你显然不是在制作淡出活动的动画,而是在制作内容视图。当启动另一个活动时,该转换将有一个短暂的延迟,这就是您正在经历的。请尝试使用带有片段的单个活动,而不是两个活动。您可以将动画应用于片段在被替换时以及新片段出现时如何消失。对于一个包含片段的活动,您是什么意思?你能给我举个例子吗?