您的位置:首页 > 移动开发 > Android开发

Android常用工具类封装---Fragment

2014-11-23 19:59 399 查看
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;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Fragment切换