標籤:fragment切換
Fragment切換
/**** Fragment切換@Params toFragment 將要切換到的Fragment resId 裝載Fragment的view Idindex Fragment的標識indextoleft 判斷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下一個fragmentfragmentTrasaction.hide(mCurrentFragment);fragmentTrasaction.add(resId, toFragment, String.valueOf(index));fragmentTransactoin,commit();}else{//隱藏當前fragment,show下一個fragmentfragmentTransaction.hide(mCurrentFragment);fragmentTransaction.show(toFragment);fragmentTransaction.commit();}mCurrentFragment = (BaseFragment)toFragment;} }
Android常用工具類封裝---Fragment