❶ 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共享元素轉場動畫兼容實踐
❷ android同一個頁面可以實現共享元素動畫嘛
您好,是的,Android可以實現共享元素動畫。它是一種特殊的轉換動畫,可以在兩個不同的頁面之間共禪襪享元素,使用它可以實現並改從一個頁面到另一個頁面的平滑過渡。它可以在兩個賀蔽激不同的頁面之間共享元素,使用它可以實現從一個頁面到另一個頁面的平滑過渡。共享元素動畫可以在Android應用程序中使用,可以提高用戶體驗,使用戶更容易理解和使用應用程序。它可以幫助開發者更好地實現視覺效果,從而更好地吸引用戶。