android - MotionLayout 是否支持 fragment 之间的共享元素转换?

标签 android android-fragments shared-element-transition android-motionlayout

我正在考虑重构我的代码以使用 MotionLayout 进行动画,但目前它严重依赖于共享元素转换。 MotionLayout 支持吗?

我似乎无法在网上找到任何有关此的信息。我发现一条推文指出 MotionLayout 不处理 Activity 之间的共享元素转换,但没有有关 fragment 的信息。

最佳答案

为了尽可能简洁地回答您的问题,是的 MotionLayout 确实支持共享元素。但是,您当前的代码可能需要进行一些修改才能实现。 MotionLayout 通过在任何给定 View 的两个定义的约束之间进行插值来实现共享元素转换。因此,您绝对可以在 fragment 过渡中的两个状态之间插入共享元素,但您需要在场景文件中定义开始和结束。 this link 有一些有用的示例,其中包含带有运动布局的 fragment 转换的代码。以及关于开始使用运动布局场景文件的精彩分步教程:this link 。如果有任何问题,请随意评论此答案。

关于android - MotionLayout 是否支持 fragment 之间的共享元素转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60190027/

相关文章:

android - 使用 DialogFragment 和 ScrollView 时共享元素过渡闪烁

android - 与 Dialog Activity 共享元素转换

java - "Cannot resolve method ' openFileOutput(Java.lang.String, int) '"

java - 如何序列化/反序列化 arrayList(Object)

android - 从 ViewPager 中删除 fragment

java - 在 fragment 内创建第二个 Android 导航栏

android - 共享元素转换和 ContentTransition 延迟计时

java - 使用 ScrollView 实现 BottomNavigationView

java - 从返回的 HashMap 中获取列表

java - 无法加载带有 fragment 的 Activity