2014-06-27 118 views
1

我想淡入一個元素,但以某種方式將其隱藏(GONE)變爲可見,將元素從中移除。我目前使用的動畫是AlphaAnimation將元素從變爲可見(而不是從不可見)

Animation fadeIn = new AlphaAnimation(0, 1); 
fadeIn.setInterpolator(new DecelerateInterpolator()); 
fadeIn.setDuration(2000); 

但這只是它動畫化從INVSIBLEVISIBLE,我要的是把它從動畫到GONEVISIBLE

這甚至有可能嗎?還是我必須通過對周圍元素進行動畫來使這變得更加複雜?

回答

2

GONE與INVISIBLE之間的區別在於,當視圖是INVISIBLE時,佈局仍將它視爲那裏,而GONE會導致佈局更改。因此,將GONE中的alpha動畫變爲VISIBLE並不會真正有意義。

Android爲您提供了一個相當不錯的動畫開箱即用。您只需告訴它爲您設置動畫布局更改。因此,簡單地將視圖的可見性從GONE設置爲VISIBLE將自動啓用此功能。

<LinearLayout android:id="@+id/container" 
    android:animateLayoutChanges="true" 
    ... 
/> 

碰巧,這個動畫幻燈片其他部件拆開來騰出空間,然後在有問題的看法變淡,所以可能是你反正以後是什麼。

有關更多信息,請參閱http://developer.android.com/training/animation/layout.html