當前位置:首頁 » 安卓系統 » android共享元素

android共享元素

發布時間: 2024-06-09 10:09:38

A. Android 共享元素效果

Transition 框架是 Android 4.4 KitKat 中加入的,但在 5.0 才開始被人應用起來,
而且這一部分也涉及了 22.0 的 API,雖然有對應的 support.v4 包,但也還是有點問題。
所以這一部分可以說是 5.0 以上適用的方法。

效果(錄制出來的效果有點卡頓):

這里遇到一點小問題,即上述 Activity 引用的 style 中不僅設置了 android:windowIsTranslucent ,也設置了 android:windowIsTranslucent : 讓 Activity 的背景為透明,在我測試的時候發現使用共享元素的時候出現了返回時閃屏的現象,解決方法是設置 Activity 背景顏色為透明。
在 onCreate 中:

或者在上述的 style 中的 theme 添加:

在打開的 Activity 的 xml 中

對應的 ImageView 中的 android:transitionName 屬性值必須相同,而對兩個控制項的大小、id 等屬性並無要求。

在 makeSceneTransitionAnimation 傳入的參數中,mImgView 是第一個界面中 ImageView 的實例,第三個參數對應 xml 中的 android:transitionName 的值。

因為打開新的 Activity 的時候,可能要去載入新的圖片,這時候我們需要 延遲過渡動畫的開始 ,直到圖片載入完成之後再開始動畫。否則會出現各種 bug。
所以要在第二個 Activity 中的 onCreate() 中阻止動畫的執行:

然後在圖片載入完成後開始動畫:

當然,啟動動畫不一定要等待圖片載入完成再進行,因為還存在著圖片載入失敗、載入時間過長等問題,這里只是提出一種方法,實際還是自己看情況決定。

以上只是簡單的實現了一種效果,關於 Transition 的使用、共享元素在
Fragment 中的使用、多個共享元素的使用等,在這里暫時不打算細講,可以參考:
使用 Transition FrameWork 實現有意義的轉場動畫(譯)
(譯)Android 5.0 頁面共享元素過渡
定義定製動畫

原理大概就是如此,實現動畫的方法有很多種。
可以參考:
Activity 共享元素轉場動畫實踐
Android共享元素轉場動畫兼容實踐

B. Android轉場動畫一說

所謂轉場動畫,通俗的講就是一個Activity跳轉到另一個Activity是的動畫。

Activity的轉場動畫很早就有了,5.0之前用的是overridePendingTransition()這個方法。在5.0之後,Google使用Material Design設計風格,進而有了的新的轉場轉場動畫的誕生,效果還是挺炫酷的,下面我們先看下效果。



其實這里主要是靠overridePendingTransition(int enterAnim, int exitAnim)來載入動畫,顧名思義第一個參數是進場動畫,第二個是出場動畫。
這幾個效果是可以交互使用,比如進場用Fade效果,出場用SLide效果。也可以使用自定義的效果,這里不細說。當然5.0後了類似共享元素這類的效果那就另當別論了



說到這里不得不說Google在5.0MD設計中給我提供全新的過度動畫ActivityOptions,以及兼容包ActivityOptionsCompat.下面來說一說它提供幾種過度效果的方法











熱點內容
c語言乘積函數 發布:2024-11-26 17:43:23 瀏覽:186
unix與linux的關系 發布:2024-11-26 17:38:37 瀏覽:463
中恆牌密碼鎖初始管理密碼是多少 發布:2024-11-26 17:34:54 瀏覽:295
ios手機怎麼玩安卓游戲 發布:2024-11-26 17:08:23 瀏覽:395
sql記錄執行 發布:2024-11-26 17:08:15 瀏覽:8
deb反編譯 發布:2024-11-26 17:04:12 瀏覽:140
ftp站點如何設置 發布:2024-11-26 16:54:48 瀏覽:849
預設存儲器 發布:2024-11-26 16:47:38 瀏覽:14
如何打開雲伺服器的窗口 發布:2024-11-26 16:42:37 瀏覽:844
怎麼自學編程入門 發布:2024-11-26 16:40:58 瀏覽:760