Activity過渡動畫

2021-07-10 15:07:32 字數 2274 閱讀 5423

1.android5.x提供了三種transition型別
1)進入:activity所有檢視進入螢幕。

2)退出:activity所有檢視退出螢幕。

3)共享元素:activity之間的過渡。

進入和退出效果包括:

explode(分解):從螢幕中間進或出,移動檢視。

side(滑動):從螢幕邊緣進或出,移動檢視。

fade(淡出):通過改變螢幕上檢視的不透明度達到新增或者移除檢視。

共享元素包括:

changebounds:改變目標後檢視的布局邊界。

changeclipbounds:裁剪目標檢視邊界。

changetransform:改變目標檢視的縮放比例和旋轉角度。

changeimagetransform:改變目標的大小和縮放比例。

共享元素就是兩個元素共同擁有的,當從activitya跳轉到activityb時,其餘元素都會不見,只有共享元素會通過動畫跳轉到activityb。

設定共享元素步驟:

1)首先在activity1的布局檔案中設定共享的元素,設定相應的屬性:

android:transitionname=「」;

2)

同時在activity2的布局檔案中給要實現共享效果的元素也新增相同的屬性:

android:transitionname=「」;

注意:兩處的命名要相同。

共享乙個元素的例子:

startactivity(intent,activityoptions.makescenetrannsitionanimation(this,

view(要共享的view布局),

"share"(所取的名字)).tobundle());

如果有多個共享的例子,pair.create()來建立多個共享元素:

startactivity(intent,activityoptions.makescenetrannsitionanimation(this,

pair.create(view, "share"),

pair.create(fab,"fab")).tobundle());

使用動畫的步驟:

從activitya跳轉到activityb,只需在activitya中 將基本的startactivity(intent)方法改為:

startactivity(intent,activityoptions.makescenetrannsitionanimation(this).tobundle

());

在activityb中,設定:

允許使用transitions.

getwindow().requestfeature(window.feature_content_transitions);

或者在樣式檔案中設定**:

>

然後再設定進入activityb的具體動畫效果:

getwindow().setentertransition(new explode());

getwindow().setentertransition(new slide());

getwindow().setentertransition(new fade());

或者設定離開activityb的動畫效果:

getwindow().setexittransition(new explode()

);

getwindow().setexittransition(new slide());

getwindow().setexittransition(new fade

());

例如:

在activitya中:

/從螢幕中間進或出

public void explode(view viwe)

//從螢幕邊緣進或出

public void slide(view view)

//從螢幕淡出

public void fade(view view)

//設定共享元素

public void share(view view)

在activityb中:

switch (flag)
效果:

動畫過渡效果

動畫 使用動畫必要的兩個屬性 1 動畫名稱 animation name 2 動畫持續時間 animation duration 3 動畫使用的速度函式 animation timing function animation iteration count animation direction 6...

過渡 變形 動畫

transition all 0.3s linear 0 要過渡的屬性 過渡執行的時間 運動速度 何時開始 注意 組合寫法 旋轉之後,座標會跟著旋轉 移動 transform translate 50 40 x軸位移 50 y軸位移 40 transform translatex 30px x軸移動...

過渡動畫(transition)

transition property transition duration transition timing function transition delay 要過渡的屬性 想要變化的css屬性,寬高和背景顏色內外邊距都可以。如果想要所有的屬性都變化過渡,寫乙個all就可以 花費時間 單位是...