アプリにカスタム共有要素トランジションを追加しようとしましたが、さまざまなアクティビティのさまざまなモードで動作するようにしました。しかし、私のテストでは、呼び出されたアクティビティの入力トランジションのみが実行されます。
これは、呼び出しアクティビティ A の私のコードです。
TransitionSet set = new TransitionSet();
set.setOrdering(TransitionSet.ORDERING_TOGETHER);
set.addTransition(new ChangeBounds());
PortalHeaderBackgroundTransition back = new PortalHeaderBackgroundTransition();
back.setMode(0);
set.addTransition(back);
getWindow().setSharedElementEnterTransition(set);
set = new TransitionSet();
set.setOrdering(TransitionSet.ORDERING_TOGETHER);
set.addTransition(new ChangeBounds());
back = new PortalHeaderBackgroundTransition();
back.setMode(1);
set.addTransition(back);
getWindow().setSharedElementExitTransition(set);
これは、呼び出されたアクティビティ B の私のコードです。
TransitionSet set = new TransitionSet();
set.setOrdering(TransitionSet.ORDERING_TOGETHER);
set.addTransition(new ChangeBounds());
PortalHeaderBackgroundTransition back = new PortalHeaderBackgroundTransition();
back.setMode(2);
set.addTransition(back);
getWindow().setSharedElementEnterTransition(set);
set = new TransitionSet();
set.setOrdering(TransitionSet.ORDERING_TOGETHER);
set.addTransition(new ChangeBounds());
back = new PortalHeaderBackgroundTransition();
back.setMode(3);
set.addTransition(back);
getWindow().setSharedElementExitTransition(set);
PortalHeaderBackgroundTransition にブレークポイントを追加します。A が B または B を呼び出して A に戻るたびに、モード 2 遷移のみが実行されます。
なぜこれが起こるのですか?そして、他のトランジションはいつ実行されますか?