0

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

这不是正在发生的事情。

它正在启动下一个活动,然后当按下“返回”时,动画仍在“运行”,并完成淡出。我尝试了各种组合:在 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>

android中的代码:(用于imageButton的onClick)

public void onClick(View v) {
            Intent intent = new Intent(Current.this, Next.class);
            v.startAnimation(animationFadeOut);
            try {

                Thread.sleep(1200);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

            startActivity(intent);

}
4

2 回答 2

2

您也可以尝试使用 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);

    }
});
于 2013-01-16T12:51:56.143 回答
0

您应该使用这里AnimationListener描述的并开始您的. 你可以这样使用:onAnimationEndActivityanimationFadeOut.setAnimationListener(listener)

于 2013-01-16T12:51:25.477 回答