gpt4 book ai didi

android - Remove() 的 FragmentTransaction setTransition() 不会更改先前在 replace() 中设置的过渡

转载 作者:太空狗 更新时间:2023-10-29 15:53:24 24 4
gpt4 key购买 nike

所以,首先我创建一个像这样的新 fragment

ft = fm.beginTransaction();
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.replace(R.id.main_content_frame, cFr, "CARS");
ft.addToBackStack(null);
ft.commit();

然后我像这样删除它

fm.popBackStack();
ft = fm.beginTransaction();
ft.setTransition(FragmentTransaction.TRANSIT_NONE);
ft.remove(fm.findFragmentByTag("CARS")).commit();

但是关闭过渡是用TRANSIT_FRAGMENT_OPEN动画完成的(或者我认为默认情况下是相反的),我明确设置了TRANSIT_NONE .

有什么想法吗?

最佳答案

  public void mRemoveFragment(android.app.Fragment fragment){
android.app.FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.setCustomAnimations(android.R.anim.fade_in, android.R.anim.fade_out);
ft.remove(fragment);
ft.commit();
}

使用此函数删除 fragment 。在 setCustomAnimation 中,您可以提供脚本。我目前使用的是android默认提供的

关于android - Remove() 的 FragmentTransaction setTransition() 不会更改先前在 replace() 中设置的过渡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22464284/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com