2015-07-02 146 views
0

我想要在同一個ImageView上播放多個動畫。我正在使用動畫集,但它永遠不會淡入。但它確實會旋轉。有人能告訴我我錯過了什麼嗎?爲圖像視圖設置的動畫

AnimationSet s = new AnimationSet(false);//false mean dont share interpolators 

    Animation fadeIn = new AlphaAnimation(0, 1); 
    fadeIn.setInterpolator(new DecelerateInterpolator()); // add this 
    fadeIn.setDuration(fadeInDuration); 
    iv.setAnimation(fadeIn); 
    iv.startAnimation(fadeIn); 


    RotateAnimation anim = new RotateAnimation(0.0f, 360.0f , Animation.RELATIVE_TO_SELF, .5f, Animation.RELATIVE_TO_SELF, .5f); 
    anim.setInterpolator(new LinearInterpolator()); 
    anim.setRepeatCount(Animation.INFINITE); 
    anim.setDuration(800); 

    s.addAnimation(fadeIn); 
    s.addAnimation(anim); 
    iv.startAnimation(s); 

回答

0

你缺少:

Animation fadeIn = new AlphaAnimation(0, 1); 
    fadeIn.setInterpolator(new DecelerateInterpolator()); // add this 
    fadeIn.setDuration(fadeInDuration); 
    fadeIn.setFillEnabled(true); // to apply setFillBefore and setFillAfter 
    fadeIn.setFillBefore(true); // it means that at start of animation you set alpha="0" 
    fadeIn.setFillAfter(false); 
    iv.setAnimation(fadeIn); 
    iv.startAnimation(fadeIn); 

而且,在你的風格,你必須刪除alpha="0"

AlphaAnimation是在圖像上工作,因爲它是。所以如果你設置了alpha="0"它在這個0之間起作用。如果alpha="1"或沒有它(當樣式默認爲alpha="1"),它在0-1之間起作用。

+0

我會嘗試一下,但我可能應該提到它 - 當它是唯一的動畫時,fadeIn動畫就起作用。 – Aadithya

相關問題