urS*_*Sus 33 android shared-element-transition fragment-transitions
我试图在片段之间进行共享元素转换,当使用replace()添加第二个片段时一切正常,但是在代码库add()中使用了很多,但是当使用它时,转换只是跳到结束值
是否有可能在添加的片段之间进行转换? 谢谢
@Override
public void onClick(View v) {
setSharedElementReturnTransition(TransitionInflater.from(getActivity())
.inflateTransition(android.R.transition.move));
FragmentB secondFragment = new FragmentB();
secondFragment.setSharedElementEnterTransition(TransitionInflater.from(getActivity())
.inflateTransition(android.R.transition.move));
getFragmentManager().beginTransaction()
.add(R.id.container, secondFragment)
.addToBackStack(null)
.addSharedElement(imageView, imageView.getTransitionName())
.commit();
}
Run Code Online (Sandbox Code Playgroud)
尝试这个
getSupportFragmentManager().beginTransaction()
.addSharedElement(myImage, "mytransition")
.add(R.id.recycler_view_container, myFragment2)
.hide(myFragment1)
commit();
Run Code Online (Sandbox Code Playgroud)
为我工作
因为系统不会从第一个片段开始经历 onPause,所以它不会发生。因为当您添加新片段时,新片段位于旧片段的顶部。
但你可以伪造它,尽管你会有更多代码!
下面有一个示例:
https://github.com/Kisty/FragmentTransitionExample
和一个不完全相关但可以帮助您了解想法的视频:
https://www.youtube.com/watch?v=CPxkoe2MraA
| 归档时间: |
|
| 查看次数: |
2400 次 |
| 最近记录: |