介绍
我目前正在使用活动过渡和共享元素。
我知道的
我了解内容过渡是如何工作的。
他们在A-> B时按此顺序玩:
退出活动的过渡
B活动淡出的背景
在B活动上输入转换
然后去B-> A:
B活动的返回过渡
活动淡出的背景
重新进入活动的过渡
为了能够依次看到所有这些转换,必须将以下两个属性设置为false:
setAllowEnterTransitionOverlap
setAllowReturnTransitionOverlap
我的问题
现在开始玩共享元素过渡!
我注意到,无论配置如何,都不会播放Transition SharedElementExitTransition。
无论是什么,总是使用SharedElementEnterTransition。
到目前为止,我尝试了:
停用TransitionOverlap并使用长退出(内容)过渡
为SharedElement输入和退出转换设置两个不同的转换
完全停用SharedElementEnterTransition
在所有这些情况下,都不会使用ShareElementExitTransition!
我的问题
这是正常现象吗?
如果是,此过渡的意义何在?
预先感谢您的回答。
最佳答案
SharedElementExitTransition用于在将共享元素移动到被调用的Activity之前对共享元素执行某些操作。例如,您可能想举起它,然后将其移动到屏幕的中心,然后再调用“活动”。
重要的部分是在调用startActivity
之后执行共享元素退出转换。因此,您必须在那时更改共享元素。本质上,您可以这样做:
startActivity(intent, activityOptionsBundleWithTransitions);
manipulateSharedElement();
然后,共享元素退出转换将执行,直到完成后才转移共享元素。共享元素退出转换很少使用。