これは、言葉やスニペットで説明するのは少し難しいです。そこで、問題を再現する簡単なプロジェクトを用意しました。
ダウンロード(ファイル -> ダウンロード)
最初の実行時にActivity A
、hostingが表示Fragment F
され、さらにネストされた追加の fragment がホストされますFragment F1
。Fragment F Buttonを押すと、Fragment F1
遷移がアニメーションで表示されますFragment F2
(後で問題を確認できるように、意図的にアニメーションを遅くしました)。
デバイスの戻るキーを押すと、 に戻るFragment F2
トランジションが表示されFragment F1
ます。(おかげでaddToBackStack
) すべてうまくいきました。今度はActivity A Buttonを押してください。Fragment F
への遷移が表示されFragment X
ます。
ここで戻るキーを押すときは注意してください。Fragment X
遷移が期待どおりに戻ることがわかりますFragment F
。ただし、現在、アクティブなネストされたフラグメント(どちらが表示されているFragment F1
かFragment F2
に応じて または のいずれか)もsetCustomAnimations
、前の呼び出しから設定されたアニメーションで遷移しているようです!
フラグメント全体ではなくsetCustomAnimations
、適用された にのみ有効であるという印象を受けました。FragmentTransaction