文章迁移至:https://binkery.com/archives/2018.08.03-Android-Fragmet过场动画.html
在 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()
}
}
更加详细的介绍,https://medium.com/google-developers/fragment-transitions-ea2726c3f36f
- EOF -
本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动。
转载请注明:文章转载自 Binkery 技术博客 [https://binkery.com]
本文标题: Fragment 的过场动画
本文地址: https://binkery.com/archives/102002.html