Android 如何关闭动画后的应用程序?
嗨,我正在运行一个动画,2秒钟后我想停止它并关闭整个应用程序 这是我的动画:Android 如何关闭动画后的应用程序?,android,animation,android-studio,wait,activity-finish,Android,Animation,Android Studio,Wait,Activity Finish,嗨,我正在运行一个动画,2秒钟后我想停止它并关闭整个应用程序 这是我的动画: public void onImageButtonOkClick(View view) { setContentView(R.layout.success); final ImageView mAnimLogo = (ImageView) findViewById(R.id.loading_image); final AnimationDrawa
public void onImageButtonOkClick(View view) {
setContentView(R.layout.success);
final ImageView mAnimLogo = (ImageView) findViewById(R.id.loading_image);
final AnimationDrawable mAnimation = (AnimationDrawable) mAnimLogo.getDrawable();
mAnimLogo.post(new Runnable() {
@Override
public void run() {
mAnimLogo.setVisibility(View.VISIBLE);
mAnimation.start();
}
});
}
我尝试在调用计时器后使用finish()——应用程序关闭,但没有任何动画
有什么建议吗
编辑:
public void delay() {
Timer timer = new Timer();
try {
synchronized(timer){
timer.wait(2000);
getParent().finish();
}
} catch (InterruptedException e) {
e.printStackTrace();
}
}
我通过使用递归函数检查动画解决了这个问题
private void checkAnimation(AnimationDrawable animationDrawable){
final AnimationDrawable animation = animationDrawable;
int timeBetweenChecks = 300;
Handler h = new Handler();
h.postDelayed(new Runnable(){
public void run(){
if (animation.getCurrent() != animation.getFrame(animation.getNumberOfFrames() - 1)){
checkAnimation(animation);
} else{
finish();
}
}
}, timeBetweenChecks);
};
您可以尝试post的解决方案。只需使用animation listener您有一个小例子吗?哦,对不起,您使用的是AnimationDrawable,所以您不能使用listener…我应该使用其他animation类型吗?