Lollipop の Activity Transition をいじっていました。
アクティビティ A にボタンがあり、クリックするとアクティビティ B が呼び出されます。アクティビティ B では、onBackPressed() をオーバーライドし、finishAfterTransition() を呼び出しています。
アクティビティ B には、背景色を持つ 2 つの相対レイアウト ブロックしかありません。ボタンからブロックの 1 つに共有要素遷移を配置しましたが、完全に機能します。リターントランジションも機能します。
しかし、私が抱えている問題は、共有要素の戻り遷移をキャンセルして、通常の終了遷移を実装できないことです。
意図は、2 つのブロックを画面からスライドさせて、上から 1 つを、下から 1 つをスライドさせることでした。共有要素遷移を有効にしている場合、それは機能しません。
アクティビティ B の exit トランジションを設定して、sharedElementReturn トランジションに null を設定しようとしましたが、うまくいきません。
スライド遷移でアクティビティAに再入遷移を設定してみましたが、やはりバックプレスで共有要素遷移が反転してしまいます。
共有要素遷移をオフにすると、アクティビティ B から A に戻ったときに目的の効果が完全に得られます。
何か案は?