【问题标题】:Does MotionLayout support Shared Element Transitions between fragments?MotionLayout 是否支持片段之间的共享元素转换?
【发布时间】:2020-02-12 13:58:09
【问题描述】:
我正在考虑重构我的代码以将 MotionLayout 用于动画,但目前它严重依赖于共享元素转换。 MotionLayout 支持吗?
我似乎无法在网上找到任何有关此的信息。我发现一条推文指出 MotionLayout 不处理活动之间的共享元素转换,但没有关于片段的信息。
【问题讨论】:
标签:
android
android-fragments
shared-element-transition
android-motionlayout
【解决方案1】:
为了尽可能简洁地回答您的问题,是的,MotionLayout 确实支持共享元素。但是,您当前的代码可能需要一些修改才能实现。 MotionLayout 通过在任何给定视图的两个定义约束之间进行插值来执行共享元素转换。因此,您绝对可以在片段转换中的两个状态之间插入共享元素,但您需要在场景文件中定义开始和结束。在this link 有一些有用的带有运动布局的片段转换代码示例,在this link 有一个很好的分步教程,用于开始使用您的运动布局场景文件。如有任何问题,请随时评论此答案。