我正在尝试实现位于不同活动的不同片段下的两个 FixedAspectImageView 之间的共享元素转换。目的地也在 NestedScollView 下 发生的一切只是 Fragment1 的闪烁,只是轻微转换,而不是在Activity2中加载 Fragment2 。
由于元素位于不同活动的片段下,因此尝试在创建Activity2时使用 postponeEnterTransition(),并在Fragment2的onCreateView中使用 startPostponedEnterTransition()。
OriginLayout:
<CardView>
<LinearLayout>
<FrameLayout>
<FixedAspectImageView>
transitionName:"image"
DestinationLayout:
<FrameLayout>
<NestedScrollView>
<LinearLayout>
<FrameLayout>
<FixedAspectImageView>
transitionName:"image"
答案 0 :(得分:2)
您过早地执行startPostponedEnterTransition()
:在onCreateView
上,您的视图尚未创建和布局。它不在onViewCreated()
中,在onCreateView()
之后立即调用。
相反,您必须等到使用ViewTreeObserver
approach或普通view.post(Runnable)
布局视图,然后才能执行startPostponedEnterTransition()
。