android - 如何制作从 ViewPager 到另一个 Fragment 的共享过渡动画?

标签 android android-fragments android-viewpager kotlin android-transitions

我有下一个情况。 Activity[FragmentWithPager[PageWithGrid]] 我想制作从 list itemDetailFragment 的传统动画,但我不知道我做错了什么.我已将相同的 transitionName 添加到 list itemfragment 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 ,则列表和页面中的每个项目的转换名称必须是唯一的。当我为每个转换名称添加页面和列表索引时,动画开始工作。

example project

关于android - 如何制作从 ViewPager 到另一个 Fragment 的共享过渡动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49479636/

相关文章:

android - 如何在 android 中使用我的 Asynctask

android - 如何计算文本字段中的多少行?

基于ViewPager的Android轮播/ slider

android - 在 Android 中为 ViewPager 使用 fragment

java - 如何在 X 秒后消除 Google Glass 中的静态卡?

android - 复选框上的 API21 setButtonTintList

java - 在 fragment 中链接两个按钮

android - 拦截触摸事件SlidingPaneLayout

java - JSON 请求返回 null

android - ViewPager OnPageSelected() 或 OnPageShow() 中的 fragment ?