我为图像按钮设置了动画。我期望它做的是淡出,然后开始下一个活动。
这不是正在发生的事情。
它开始下一个活动,然后当按下“后退”时,动画仍在“运行”,并完成淡出。我尝试了各种组合:在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);
}
答案 0 :(得分: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);
}
});
答案 1 :(得分:0)
您应该使用AnimationListener
描述的here和onAnimationEnd
Activity
开始animationFadeOut.setAnimationListener(listener)
。您可以这样使用:{{1}}