1,重疊分為2種:一種是Fragment背景透明,看似重疊,另一種是hide的fragment并未hide
2,相對第一種,隻需設定每個Fragment的背景,即setBackground;後一種則是在第一次add時,進行隐藏上一個fragment即可;
3,相對後者處理方式,代碼如下:
@Override
public void cutFragment(Fragment f1, String tag) {
mFragmentTransaction = getSupportFragmentManager().beginTransaction();
Fragment f2 = getFragmentTag(tag);
//添加fragment時,第一次會執行add,當add第二個fragment時,第一個fragment并為hide,出現重疊
if (!f2.isAdded()) {
mFragmentTransaction.hide(f1);
mFragmentTransaction.add(R.id.container, f2, tag).commit();
} else {
mFragmentTransaction.show(f2).hide(f1).commit();
}
fragment = f2;
}