我有一个警告对话框,我在输入时使用自定义动画:
dialog.getWindow().getAttributes().windowAnimations = R.style.my_animation;
<style name="my_animation">
<item name="android:windowEnterAnimation">@anim/slider_anim</item>
</style>
R.anim.slider_anim.xml
<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromXDelta="-100%p"
android:fromYDelta="0"
android:duration=“1500">
</translate>
这很好但我无法弄清楚如何设置动画侦听器来检测动画的结束。 对话框的动画完成后,我需要为动画另一个视图 我尝试了这个,但动画根本没有加载:
Animation animation = AnimationUtils.loadAnimation(root.getContext(), R.anim.slider_anim);
animation.setAnimationListener(new Animation.AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
Log.d(TAG, "onAnimationEnd");
}
@Override
public void onAnimationRepeat(Animation animation) {
}
});
dialog.getWindow().getDecorView().setAnimation(animation);
我该怎么做?
答案 0 :(得分:0)
来自文件Animation.AnimationListener
onAnimationEnd方法通知动画结束。
对于重复次数设置为INFINITE的动画,不会调用此回调。
所以检查你的重复计数。
@Override
protected void onAnimationEnd() {
//your methods
}