如何向活动MaterialContainerTransform / sharedElementTransition添加片段?

问题描述

这是我的片段到片段过渡的样子 这是代码

 //Launch Fragment
 override fun onClick(v: View?) {
    when (v) {
        main_sort -> {
            val extras = FragmentNavigatorExtras(main_sort to "fragment2")
            findNavController().navigate(
                R.id.action_dashboardFragment_to_barsFragment,null,extras
            )
        }
    }

 //Target Fragment
 override fun onCreate(savedInstanceState: Bundle?) {
    sharedElementEnterTransition = MaterialContainerTransform().apply {
        fadeMode = MaterialContainerTransform.FADE_MODE_CROSS
        duration = 500
    }
    super.onCreate(savedInstanceState)
}

Fragment to Fragment

由于某种原因,我不得不切换到活动 这就是我向活动过渡的片段的样子

 //launch fragment
override fun onClick(v: View?) {
    when (v) {
        main_sort -> {
            val options =
                ActivityOptions.makeSceneTransitionAnimation(requireActivity(),main_sort,"fragment2")
            val intent = Intent(requireContext(),SortingActivity::class.java)
            startActivity(intent,options.toBundle())
        }
    }
}

//target activity
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.fragment_bars)
    val bounds = ChangeBounds()
    bounds.duration = 500
    window.sharedElementEnterTransition = bounds

fragment to Activity transtion

如您所见,从片段到活动的动画很奇怪,感觉不如片段到片段的动画那么好,退出动画也很忽悠,活动突然变成了不应该平滑的图像是。如何实现从片段到片段的过渡,从片段到活动...

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)