作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
所以,首先我创建一个像这样的新 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/
使用 MotionLayout,我需要暂时转换到加载状态 (ConstraintSet),我通过调用: motionLayout.transitionToState(R.id.state_loadin
所以,首先我创建一个像这样的新 fragment ft = fm.beginTransaction(); ft.setTransition(FragmentTransaction.TRANSIT_FR
我是一名优秀的程序员,十分优秀!