Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:动画在开始下一个活动之前未完成_Android_Animation - Fatal编程技术网

Android:动画在开始下一个活动之前未完成

Android:动画在开始下一个活动之前未完成,android,animation,Android,Animation,我已经为图像按钮设置了动画。我希望它能做的是淡出,然后开始下一个活动 事实并非如此 它正在开始下一个活动,然后当按下“后退”时,动画仍在“运行”,并完成淡出。我尝试了多种组合:在XML中设置较长时间的动画,将动画放在线程中,使用线程睡眠,将动画放在睡眠线程中。。。我还没有找到与获胜的组合!仍然无法在下一个活动开始之前完成动画 感谢您的帮助 用于淡出的XML: <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="h

我已经为图像按钮设置了动画。我希望它能做的是淡出,然后开始下一个活动

事实并非如此

它正在开始下一个活动,然后当按下“后退”时,动画仍在“运行”,并完成淡出。我尝试了多种组合:在XML中设置较长时间的动画,将动画放在线程中,使用线程睡眠,将动画放在睡眠线程中。。。我还没有找到与获胜的组合!仍然无法在下一个活动开始之前完成动画

感谢您的帮助

用于淡出的XML:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator">
<alpha
  android:fromAlpha="1.0"
  android:toAlpha="0.1"
  android:duration="1000"
  />
</set>

您应该使用
AnimationListener
中描述的
onAnimationEnd
启动您的
活动。您可以这样使用:
animationFadeOut.setAnimationListener(listener)

您也可以尝试使用AnimationListener,如下所示:

animationFadeOut.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

        startActivity(intent);

    }
});

让我告诉你,按下后退按钮不起作用?但是如果你只是点击imagebutton并让它运行,它就工作了?不-当按下imagebutton时它不工作,但是当按下back按钮时:淡入显示。从本质上说,动画正在开始,但在下一个活动开始之前,即使使用线程,动画也不会完成。谢谢你-我知道一定有某种类型的听众!
animationFadeOut.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

        startActivity(intent);

    }
});