当导航到另一个片段时,我想使用导航架构组件添加共享元素转换。但我不知道如何。同样在文档中也没有关于它的内容。有人能帮我吗?
原文由 JPLauber 发布,翻译遵循 CC BY-SA 4.0 许可协议
当导航到另一个片段时,我想使用导航架构组件添加共享元素转换。但我不知道如何。同样在文档中也没有关于它的内容。有人能帮我吗?
原文由 JPLauber 发布,翻译遵循 CC BY-SA 4.0 许可协议
第一个片段
val extras = FragmentNavigatorExtras(
imageView to "secondTransitionName")
view.findNavController().navigate(R.id.confirmationAction,
null, // Bundle of args
null, // NavOptions
extras)
first_fragment.xml
<ImageView
android:id="@+id/imageView"
android:transitionName="firstTransitionName"
...
/>
第二片段
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View {
sharedElementEnterTransition = ChangeBounds().apply {
duration = 750
}
sharedElementReturnTransition= ChangeBounds().apply {
duration = 750
}
return inflater.inflate(R.layout.second_fragment, container, false)
}
第二个片段.xml
<ImageView
android:transitionName="secondTransitionName"
...
/>
我测试了它。它起作用了。
原文由 Xzin 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答926 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
1 回答801 阅读✓ 已解决
2 回答920 阅读
2 回答857 阅读
1 回答795 阅读
1 回答847 阅读
我参考了这个 github 示例 https://github.com/serbelga/android_navigation_shared_elements
它工作正常。