在共享元素活动转换期间,默认情况下,共享元素会在窗口装饰视图的ViewOverlay中绘制。如果需要,开发人员可以通过调用Window#setSharedElementsUseOverlay(false)方法禁用此默认行为。然而,Fragment类似乎没有为片段转换声明类似的方法。
对于片段转换,默认情况下共享元素是否也绘制在片段视图层次结构顶部的视图覆盖中?如果是的话,有没有办法像在活动转换api中那样禁用默认行为?

最佳答案

不,默认情况下,片段转换中的共享元素不会在覆盖中绘制。但是,changetransform可以在检测到共享元素的转换和其父转换不同时将其拉入覆盖。您可以在changetransform转换中通过设置

android:reparentWithOverlay="false"

09-04 15:49
查看更多