Fragment 的過場動畫
Android,Fragment,動畫
2018.08.03
在 Android 開發中,有些應用對頁面的過場動畫要求比較高,他們中期望給用戶提供一個良好的用戶體驗。適當的過場動畫可以減少用戶在頁面加載時期等待的焦慮,因為讓他們看一個動畫,總比讓他們盯著一個菊花轉圈,或者一個白屏,黑屏要強很多。
在 Android 開發中,有些應用對頁面的過場動畫要求比較高,他們中期望給用戶提供一個良好的用戶體驗。適當的過場動畫可以減少用戶在頁面加載時期等待的焦慮,因為讓他們看一個動畫,總比讓他們盯著一個菊花轉圈,或者一個白屏,黑屏要強很多。
Android 也為開發者提供了很多動畫的 API 和適配。只是平時工作中并不是所有開發者都會去研究得很細致。我是這么認為的,如果你所開發的項目中,并沒有那么高的需求的話,你確實不需要去了解那么多,因為動畫的實現大部分還是靠 API 的,你只需要去好好了解了解 API 已經官方文檔,那么你也可以在短時間內掌握好動畫的制作和實現。當然,首先你還是需要有一些基礎知識的儲備。不然當產品經理拿著效果過來找你的時候,你直接說不知道,做不了,然后產品經理拿著別人的作品再次過來的時候,那就打臉了。
首先一個 Activity 里 Fragment 的切換的實現:
supportFragmentManager.beginTransaction()
.replace(R.id.home_content, fragment)
.addToBackStack(tag)
.commit()
然后我們需要為兩個 Fragment 定制共享的元素
supportFragmentManager.beginTransaction()
.replace(R.id.home_content, fragment)
.addToBackStack(tag)
.apply {
for (view in sharedElementViews) {
addSharedElement(view)
}
}
.commit()
當從 A Fragment 跳轉到 B Fragment 的時候,這些 View 的位置會變化,大小也會變化。
class GridFragment : Fragment() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
sharedElementEnterTransition = ChangeBounds()
}
}
相關文章
- EOF -
本站文章除注明轉載外,均為本站原創或編譯。歡迎任何形式的轉載,但請務必注明出處,尊重他人勞動。
轉載請注明:文章轉載自 Binkery 技術博客 [https://binkery.com]
本文標題: Fragment 的過場動畫
本文地址:https://binkery.com/archives/102002.html