当我从活动 A 启动活动 B 时,我目前正在使用自定义共享元素转换。一切正常。
我想使用另一个Transition
不涉及任何共享元素的自定义从活动 B 到活动 A 的返回转换。但是,我在几个部分遇到了问题:
- 我如何告诉框架返回转换不涉及任何共享元素?
- 返回转换中转换的开始值和结束值是多少?对于进入转换,我主要操纵活动 B 的视图,因为它们绘制在活动 A 的顶部。在返回过渡中会发生什么?
感谢我能得到的任何帮助!
编辑:
进一步调查显示,createAnimator
即使我正在调用,我的返回转换甚至都没有被调用setSharedElementReturnTransition
。但我知道 set 调用正在做某事,因为它现在不会尝试反转原始输入动画(默认行为),而不仅仅是重叠两个视图。
编辑#2:
看了乔治·芒特的回答后,我补充说
@Override
public void captureStartValues(TransitionValues transitionValues) {
transitionValues.view.setVisibility(View.VISIBLE);
}
@Override
public void captureEndValues(TransitionValues transitionValues) {
transitionValues.view.setVisibility(View.INVISIBLE);
}
这现在导致我的返回过渡createAnimator
至少运行,尽管动画仍然很奇怪。为什么能见度很重要?