Android轉場動畫的學習

在5.0以前activity之間的跳轉使用overridePendingTransition來實現轉場動畫,效果其實也可以,但是與5.0推出的轉場動畫比起,就有點過家家了。

使用轉場動畫步驟很簡單,首先要在主題加上這麼個屬性<item name="android:windowContentTransitions">true</item>,然後在startActivity的代碼中加上ActivityOptions.makeSceneTransitionAnimation(this).toBundle())參數就可以了,剩下的就是在被啓動的activity中設置轉場效果,轉場效果有三種,

Explode,Slide,Fade,看英文就知道轉場效果了吧,設置好duration,在被啓動的activity中加上這句代碼:

getWindow().setEnterTransition(new Slide().setDuration(2000));就可以實現酷炫的轉場動畫了,很簡單的樣子。

最驚豔的地方是共享控件動畫,什麼意思呢?就是上一個activity中的控件與下一個activity中的控件一致的話,使用此方法就感覺是控件從上一個activity中過渡到下一個activity,怎麼使用呢?首先兩個相同的控件需要有相同的transitionName屬性值,然後在startActivity的代碼中加上

ActivityOptions.makeSceneTransitionAnimation(this,view,"name").toBundle()參數,是不是感覺跟轉場動畫的參數很相似,這其實就是它的重載方法,第二個參數是需要共享的view,第三個參數是該控件的transitionName值,這樣就可以實現共享控件轉場了,試一試你會覺得很驚豔的,如果有多個共享控件,它還有一個重載方法ActivityOptions.makeSceneTransitionAnimation(this,pair,pair2,pair2...).toBundle(),是可變參數。這個Pair是一種數據結構,類似與HashMap一樣,就當做是鍵值對的形式吧,鍵爲控件實例,值爲對應的transitionName,這樣就可以實現多個控件共享了。

使用轉場動畫加上共享控件讓你的應用更酷炫起來吧。

PS:只能在5.0以上的系統上使用,畢竟主要是爲了Material Design提供的框架。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章