Fragment切换注意事项

最近在使用fragment,现将其切换时的一些小问题总结如下:
首先是代码:

FragmentManager fm1 = getSupportFragmentManager(); 
        FragmentTransaction transaction = fm1.beginTransaction();  
		mArticleDetailFragment = new ArticleDetailFragment();
		mArticleDetailFragment.setUrl(event.getsUrl());
		 transaction.setCustomAnimations(
					R.animator.push_left_in,
					R.animator.push_left_out,
					R.animator.push_right_in,
					R.animator.push_right_out);
		 //切换动画是由进入的fragment和退出的fragment共同实现的,这里的四个参数分别表示
		 //第一个参数:进入切换时将要进入的fragment的进入动画
		 //第二个参数:进入切换时将要退出的fragment的退出动画
		 //第三个参数:退出切换时将要进入的fragment的进入动画
		 //第四个参数:退出切换时将要退出的fragment的退出动画
		transaction.add(R.id.id_content,mArticleDetailFragment);
		transaction.remove(mArticlesFragment);
		transaction.addToBackStack(null);
		//在这里将原来的fragment放在后方的栈里面,这样但点击退出时就能回退到之前的fragment页面。
		transaction.commit();

注意事项:
1)可以使用setCustomAnimations设置切换动画,注意切换动画四个参数的含义(在代码注释中有说明)。
2)设置切换动画的代码应该放在fragment的add、remove和replace操作之前,否则不起作用。
3)在切换时不直接使用replace,而使用add,之后将替换下来的fragment放在栈里,这样在新的fragment页面用户回退时,就会退到之前的fragment页面。感觉实际需要可以这样使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值