其他分享
首页 > 其他分享> > android – 如何从ViewPager到另一个片段进行共享过渡动画?

android – 如何从ViewPager到另一个片段进行共享过渡动画?

作者:互联网

我有下一个情况. Activity [FragmentWithPager [PageWithGrid]]我想从列表项到DetailFragment制作传统动画,但我不知道我做错了.我已将相同的transitionName添加到列表项和片段详细信息布局中的视图,并尝试使用下面的代码进行过渡动画.

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()

解决方法:

我发现我做错了什么.如果使用寻呼机切换片段,则列表和页面中的每个项目的转换名称必须是唯一的.当我为每个转换名称添加了页面和列表索引时,动画开始起作用.

example project

标签:android,android-fragments,android-viewpager,kotlin,android-transitions
来源: https://codeday.me/bug/20190611/1216193.html