package com.lt.an20_utils;
import android.support.annotation.AnimRes;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import java.util.List;
/**
* Created by 風情萬種冷哥哥 on 2016.
*
*/
public class FragmentHelper {
public static void replaceFragment(FragmentManager manager, List<Fragment> list, int
tabIndex, int layoutId, @AnimRes int enter, @AnimRes int exit) {
FragmentTransaction transaction = manager.beginTransaction();
//設置碎片顯示的自定義動畫
if (enter != 0 && exit != 0) {
transaction.setCustomAnimations(enter, exit);
}
transaction.replace(layoutId, list.get(tabIndex));
transaction.commit();
}
public static void switchFragment(FragmentManager manager, List<Fragment> list, int
tabIndex, int layoutId, @AnimRes int enter, @AnimRes int exit) {
FragmentTransaction transaction = manager.beginTransaction();
//讓當前顯示的碎片進行隱藏
int currentTabIndex = 0;
for (int i = 0; i < list.size(); i++) {
if (list.get(i).isVisible()) {
transaction.hide(list.get(i));
}
}
//設置碎片顯示的自定義動畫
if (enter != 0 && exit != 0) {
transaction.setCustomAnimations(enter, exit);
}
Fragment toFragment = list.get(tabIndex);
if (toFragment.isAdded()) {
transaction.show(toFragment);
} else {
transaction.add(layoutId, toFragment);
}
transaction.commit();
}
}
碎片工具類
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.