在 Android Lollipop 中,Activity#postponeEnterTransition()
和 Activity#startPostponedEnterTransition()
方法使 Activity 能够延迟开始进入和退出共享元素转换,直到加载所有数据。这些对 Activity
转换非常有用。
有没有办法在使用Fragment
转场时达到同样的效果?
最佳答案
在 Fragment Transitions 中没有直接的等价物,因为 Fragment 使用 FragmentTransaction,我们不能真正推迟应该在事务中发生的事情。
要获得等价物,您可以添加一个 Fragment 并将其隐藏在事务中,然后当 Fragment 准备好时,删除旧的 Fragment 并在事务中显示新的 Fragment。
getFragmentManager().beginTransaction()
.add(R.id.container, fragment2)
.hide(fragment2)
.commit();
稍后,当 fragment2 准备好时:
getFragmentManager().beginTransaction()
.addSharedElement(sharedElement, "name")
.remove(fragment1)
.show(fragment2)
.commit();
关于android - 如何在 Android Lollipop 中推迟 Fragment 的进入转换?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26977303/