嘗試向我們的應用添加幫助疊加層。 這個疊加層是一個具有半透明背景的RelativeLayout,它包含幾個TextView和幾個ImageView子元素。現在,我希望每個TextView/ImageView都能一個接一個地淡入。Android在系列中動畫化多個子視圖
我使用淡入動畫集(在XML定義的),並呼籲在AnimationListener的OnAnimationEnd
方法每個視圖.startAnimation()
。所以,當第一個視圖淡入淡出時,我在下一個視圖中調用startAnimation
方法淡入。我使用與所有視圖的startAnimation參數相同的Animation對象(animationFadeIn)。像這樣:
...
Animation animationFadeIn = AnimationUtils.loadAnimation(this.context, R.anim.fadein);
...
AnimationListener animationInListener = new AnimationListener(){
@Override
public void onAnimationEnd(Animation animation) {
animation_activity++;
switch(animation_activity) {
case SHOW_TEXT_DROP:
txtDrop.startAnimation(animationFadeIn);
break;
case SHOW_TEXT_SEND:
txtSend.startAnimation(animationFadeIn);
break;
case SHOW_IMAGE_TOUCH:
imgTouch.startAnimation(animationFadeIn);
break;
case SHOW_TEXT_DISABLE:
txtDisable.startAnimation(animationFadeIn);
break;
}
}
};
對於淡出的動畫,我提到this tutorial
現在,這裏的問題:
- 首先查看變淡,在
- 第二種觀點變淡式,但第一個視圖再次淡入以及隨着它一起
- 一直持續到所有視圖都完成淡入
另外,如何在下一個視圖淡入之前添加一些延遲setStartOffset
?
UPDATE
我注意到,如果我創建由
animationFadeIn2 = AnimationUtils.loadAnimation(this.context, R.anim.fadein);
第二個動畫對象,然後將其用於其他元素的startAnimation,那麼就不會產生這個問題。所以,我相信,必須有一些屬性設置在動畫對象上以避免這種情況發生?
任何運氣來優化它? – CoDe
這裏是去... :) http://stackoverflow.com/a/4112620/2624806幫助清除第一視圖的動畫。 – CoDe