在我的 Activity 中,我使用以下代码添加了 fragment 。
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 正确进入、退出、弹出动画。但是当我定位设备时, fragment 管理器试图添加具有相同动画的 fragment 。这似乎很奇怪。当用户定位设备时,我不想要动画。
我不想在 list 中添加 onConfigChanges='orientation'
,因为我想根据方向更改 fragment 的布局设计。
最佳答案
我能避免这种情况的唯一方法是不保留 fragment 实例。在您的 DetailsFragment
的 onCreate
方法中使用 setRetainInstance(false);
关于Android Fragment Animation 在 Orientation Change 上再次重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24308937/