2012-02-08 134 views
1

誰能告訴我爲什麼這個動畫不開始?我已經嘗試將代碼放入onAnimationStart監聽器中,並且它永遠不會被調用!沒有錯誤,它只是從來沒有發生..我一直盯着這個小時!動畫未啓動! (安卓)

Animation bRegisterAnimation = fadeView(1,0,0); 
bRegisterAnimation.setAnimationListener(new AnimationListener() { 
    public void onAnimationStart(Animation arg0) {} 
    public void onAnimationRepeat(Animation arg0) {} 
    public void onAnimationEnd(Animation arg0) { 
     bRegister.clearAnimation(); 
     bRegister.setVisibility(View.INVISIBLE); 
    } 
}); 
bRegister.setAnimation(bRegisterAnimation); 

這裏是fadeView功能:

public Animation fadeView(float startA, float endA, int delay) { 
    Animation animation = new AlphaAnimation(startA,endA); 
    animation.setDuration(1000); 
    animation.setStartOffset(delay); 
    return animation; 
} 

的感謝!

回答

3

我猜bRegister是在你想你的動畫工作您的觀點。如果是這樣,你已經使用bRegister.setAnimation(bRegisterAnimation)正確設置了該視圖的動畫;

但您還沒有使用startAnimation()啓動動畫。嘗試一次

+0

作品像一個魅力,謝謝! – user1118042 2012-02-08 04:45:03

1

當我嘗試在我的Android設備上實現動畫時,我曾有過類似的體驗,這是我從姐姐那裏借用的。我試圖讓動畫工作一整天,直到我終於放棄。幾天後,當我意識到......所有的動畫已被關閉的設置 - _ - 大聲笑,以免浪費你的時間像我這可能是明智的首先檢查你的設置。

+0

我甚至不能解釋你是多麼感激我發佈了這個,幾乎失去了我的想法。謝謝youuuuuuu !!!! – StackPWRequirmentsAreCrazy 2017-03-23 20:47:58

4

您需要撥打bRegister.startAnimation(bRegisterAnimation)。此外,您無需致電setAnimation()。如果你想作一個簡單的動畫漸變,你可以嘗試使用這個:

bRegister.startAnimation(AnimationUtils.loadAnimation(
        getBaseContext(), android.R.anim.fade_in)); 
+1

感謝提醒我,Android R類已內置動畫;) – sandalone 2013-06-27 15:51:59