我找不到任何答案,所以这是一个问题。
当使用某些动画从Fragment A
移动到Fragment B
时,动画是在目标分片渲染之后执行的,还是在目标分片渲染期间执行的?因此,如果我的Fragment B
需要大约2秒才能完全渲染(忽略设备参数),并且我想确保它在过渡动画完成后准备就绪,那么我可以简单地将动画持续时间设置为类似3秒。它实际上是如何工作的?
发布于 2021-06-29 21:53:08
这是同时发生的,你不能保证哪一个先来。但是,如果在转换之前需要在目标片段中包含一些视图或数据,则可以在输入片段的onViewCreated()
中调用Fragment.postponeEnterTransition()
。例如,如果您从片段A导航到B:
public class FragmentB extends Fragment {
@Override
public void onViewCreated(@NonNull View view, Bundle savedInstanceState) {
...
postponeEnterTransition();
}
}
加载数据并准备开始转换后,调用Fragment.startPostponedEnterTransition()
。
https://stackoverflow.com/questions/68175401
复制相似问题