0
我想在將片段附加到包含FragmentPager的活動時播放自定義動畫。不幸的是,使用FragmentTransaction.setCustomAnimations(int, int)
的正常方式只能部分工作。無論我做什麼只是外面的動畫或過渡動畫顯示。打開/關閉FragmentAdapter時的動畫
這是我到目前爲止有:
FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
transaction.setCustomAnimations(R.anim.fadein, R.anim.fadeout, R.anim.fadein, R.anim.fadeout);
transaction.add(R.id.fragmentSpace, hostingFragment, CURRENT_FRAGMENT);
transaction.addToBackStack(null);
transaction.commit();
在這種情況下,剛剛在新片段的動畫顯示,老段下的新連接的一個保持可見。再加上彈出後退棧時不播放動畫。
用transaction.replace(..)
替換transaction.add(..)
有助於刪除底層片段,但仍然存在未顯示其動畫的問題。在這種情況下,底層片段就會消失。至少彈出式動畫顯示在.replace案例中。
舉一個例子項目看:github(動畫分支)
正如我上面提到的:transaction.replace()也沒有幫助。它無法顯示替換片段的動畫。剛剛測試組合刪除(Fragment)並添加(Fragment),但它實際上與調用replace相同。 – Paul