在我的活动中,我使用以下代码添加了片段。

FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.setCustomAnimations(R.anim.right_to_left_in, R.anim.right_to_left_exit,R.anim.left_to_right_in,R.anim.left_to_right_exit);
DetailsFragment newFragment = DetailsFragment.newInstance();
ft.replace(R.id.details_fragment_container, newFragment, "detailFragment");
ft.commit();

片段正确地进入、退出、弹出动画。但是当我调整设备的方向时,fragment manager试图添加具有相同动画的片段。看起来很奇怪。我不希望当用户定位设备时出现动画。
我不想在manifest中添加onConfigChanges='orientation',因为我想在方向上更改片段的布局设计。

最佳答案

唯一可以避免的方法是不保留片段实例。在DetailsFragmentonCreate方法中使用setRetainInstance(false);

07-24 09:32