2017-06-06 73 views
0

我有一个非常简单的动画:imageview必须一直向上然后向下。起初,我试着用XML:Android:通过代码生成动画但不通过xml

<set xmlns:android="http://schemas.android.com/apk/res/android" 
android:shareInterpolator="false" 
android:fillAfter="true"> 
<set 
    android:interpolator="@android:anim/linear_interpolator" 
    android:repeatCount="-1" 
    android:repeatMode="reverse"> 
    <translate 
     android:fromYDelta="0" 
     android:toYDelta="10" 
     android:duration="300"> 
    </translate> 
</set> 

Animation mAnimation= AnimationUtils.loadAnimation(this, R.anim.myanimation); 
immagineNemico.startAnimation(mAnimation); 

但它没有工作:我的ImageView没上去,只能下来。所以,我读了一问题的回答和我的代码做动画:

immagineNemico.setVisibility(View.VISIBLE); 
    TranslateAnimation mAnimation = new TranslateAnimation(
      TranslateAnimation.ABSOLUTE, 0f, 
      TranslateAnimation.ABSOLUTE, 0f, 
      TranslateAnimation.RELATIVE_TO_PARENT, 0f, 
      TranslateAnimation.RELATIVE_TO_PARENT, 0.02f); 
    mAnimation.setDuration(300); 
    mAnimation.setRepeatCount(-1); 
    mAnimation.setRepeatMode(Animation.REVERSE); 
    mAnimation.setInterpolator(new LinearInterpolator()); 
    immagineNemico.setAnimation(mAnimation); 

和它的工作。但为什么没有XML动画的工作?他们几乎是一样的!错误在哪里?

+0

检查日志如果发生错误,请将其粘贴到此处 –

+0

@EliasFazel没有错误 – Curio

回答

1

我遇到过同样的问题:动画工作时,由代码设置,但不是在XML中。简单的答案是有些bug /有意混淆了Android动画中的设计,其中一些XML元素被忽略。

这回答一个相关的问题是什么第一放倒我了会有事情,对通过XML编程完成后工作:https://stackoverflow.com/a/6351812/8003750

我知道这是不是最满意的答案,但在短期 - 甚至如果XML是完美的,有些情况下它不起作用。