我有下一个情况。 Activity[FragmentWithPager[PageWithGrid]]
我想制作从 list item
到 DetailFragment
的传统动画,但我不知道我做错了什么.我已将相同的 transitionName
添加到 list item
和 fragment detail
布局中的 View ,并尝试使用以下代码制作过渡动画。
val fragmentTransaction = supportFragmentManager.beginTransaction()
transitionItems.forEach { view ->
fragmentTransaction.addSharedElement(view, view.transitionName)
}
val fragment = DetailFragment()
val transitionSet = TransitionSet().apply {
addTransition(ChangeTransform())
addTransition(ChangeClipBounds())
addTransition(ChangeBounds())
}
fragment.sharedElementEnterTransition = transitionSet
fragment.sharedElementReturnTransition = transitionSet
fragmentTransaction.replace(R.id.root, fragment)
fragmentTransaction.addToBackStack(null)
fragmentTransaction.commit()
最佳答案
我发现我做错了什么。 如果您使用分页器切换 fragment ,则列表和页面中的每个项目的转换名称必须是唯一的。当我为每个转换名称添加页面和列表索引时,动画开始工作。
关于android - 如何制作从 ViewPager 到另一个 Fragment 的共享过渡动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49479636/