android通用工具封装,Android常用工具类封装---Fragment

该博客详细介绍了在Android应用中如何实现Fragment之间的切换,并添加左右滑动的动画效果。通过使用FragmentTransaction,设置不同的动画资源如R.anim.push_left_in和R.anim.push_right_out,实现了向左和向右滑动的视觉体验。同时,代码中检查了Fragment是否已添加,以决定是隐藏当前Fragment并添加新的,还是直接显示已存在的Fragment。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Fragment切换

/**

** Fragment切换

@Params toFragment 将要切换到的Fragment

resId 装载Fragment的view Id

index Fragment的标识index

toleft 判断Fragment向左切换还是向右切换,以采用不同的动画

Notes: R.anim.push_left_in等均为简单的Tranlate动画

mCurrentFragment为当前所在的Fragment,继承自BaseFragment

*/

protected void switchDiffFragmentContent

(Fragment toFragment, int resId, int index, boolean toleft){

if (null == mCurrentFragment || null == toFragment){

return;

}

if (mCurrentFragment.getArguments().getInt("Index") !=

toFragment.getArguments.getInt("index"))

{

FragmentTransaction fragmentTransaction;

fragmentTrasaction = getChildFragmentManager().beginTransaction();

if (toleft)

{

fragmentTrasaction.SetCustomAnimations(R.anim.push_left_in,

R.anim.push_left_out);

}else{

fragmentTrasaction.setCustomAnimations(R.anim.push_right_in,

R.anim.push_right_out);

}

//先判断是否添加过

if (!toFragment.isAdded())

{

//隐藏当前fragment,add下一个fragment

fragmentTrasaction.hide(mCurrentFragment);

fragmentTrasaction.add(resId, toFragment, String.valueOf(index));

fragmentTransactoin,commit();

}else{

//隐藏当前fragment,show下一个fragment

fragmentTransaction.hide(mCurrentFragment);

fragmentTransaction.show(toFragment);

fragmentTransaction.commit();

}

mCurrentFragment = (BaseFragment)toFragment;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值