入れ子になったフラグメントが遷移アニメーション中に消える
ここではシナリオがあります:活動は、フラグメントが含まAターン用途では、getChildFragmentManager()フラグメントを追加するA1と、A2その中にonCreateそのように: getChildFragmentManager() .beginTransaction() .replace(R.id.fragmentOneHolder, new FragmentA1()) .replace(R.id.fragmentTwoHolder, new FragmentA2()) .commit() これまでのところ、非常に良い、すべてが期待どおりに実行されています。 次に、アクティビティで次のトランザクションを実行します。 getSupportFragmentManager() .beginTransaction() .setCustomAnimations(anim1, anim2, anim1, anim2) .replace(R.id.fragmentHolder, new FragmentB()) .addToBackStack(null) .commit() 移行中、enterフラグメントのアニメーションBは正しく実行されますが、フラグメントA1とA2は完全に消えます。[戻る]ボタンでトランザクションを元に戻すと、それらは適切に初期化され、popEnterアニメーション中に正常に表示されます。 私の簡単なテストでは、奇妙になりました-子フラグメントのアニメーションを設定すると(以下を参照)、exitフラグメントを追加するとアニメーションが断続的に実行されますB getChildFragmentManager() .beginTransaction() .setCustomAnimations(enter, exit) .replace(R.id.fragmentOneHolder, new FragmentA1()) .replace(R.id.fragmentTwoHolder, new FragmentA2()) .commit() 達成したい効果は単純です- フラグメント(anim2)のアニメーションexit(またはそれである必要がありますpopExitか?A)を実行して、ネストされた子を含むコンテナー全体をアニメーション化します。 それを達成する方法はありますか? 編集:ここでテストケースを見つけてください Edit2:静的アニメーションを試してみてくれた@StevenByleに感謝します。どうやらアニメーションごとに(トランザクション全体にグローバルではなく)アニメーションを設定できます。つまり、子は無期限の静的アニメーションセットを持つことができ、親は異なるアニメーションを持つことができ、1つのトランザクションですべてをコミットできます。 。以下の説明と更新されたテストケースプロジェクトを参照してください。