8

我有一个自定义Transition用于我的两个活动之间的共享元素。

我的转换不起作用,因为TransitionValues参数View在两种方法中具有相同的属性,captureStartValues并且captureEndValues. 因此,一旦开始值和结束值相同,我的过渡就没有什么可做的了。

为什么会这样?

4

2 回答 2

1

就我而言,我想在两个元素的背景可绘制对象之间进行转换。经过大量挖掘后,我终于意识到传递给 onCaptureStartValues 方法的视图不是来自第一个活动的实际视图,而是在第二个活动中从过渡框架传递的包裹中创建的表示。

这与直觉相反,但最终将我引向以下文章,其中包含有关如何完成您所追求的内容的信息示例。

https://medium.com/@belokon.roman/custom-transitions-in-android-f8949870bd63

通常,您使用 SharedElementCallback 将自定义属性注入到您的转换对象中。我真的希望这种行为在未来会有所改变,因为它感觉很hack-ish。

于 2018-07-31T10:15:44.937 回答
0

您必须设置一个SharedElementCallbackusingsetEnterSharedElementCallback并覆盖 onSharedElementStart 和 onSharedElementEnd 并在开始和结束处设置滚动。当它反转时,在开始反转过渡之前调用结束。

于 2016-04-30T00:34:12.147 回答