为警报对话框添加动画侦听器

时间:2017-02-28 11:31:08

标签: android android-layout android-animation

我有一个警告对话框,我在输入时使用自定义动画:

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);    

我该怎么做?

1 个答案:

答案 0 :(得分:0)

来自文件Animation.AnimationListener

onAnimationEnd方法通知动画结束。

对于重复次数设置为INFINITE的动画,不会调用此回调。

所以检查你的重复计数。

 @Override
 protected void onAnimationEnd() {

  //your methods
 }