現在、アクティビティ A からアクティビティ B を起動するときにカスタムの共有要素トランジションを使用しています。すべてが完全に機能します。
Transition
アクティビティ B からアクティビティ A に戻る遷移に、共有要素を含まない別のカスタムを使用したいと考えています。ただし、いくつかの部分で問題が発生しています。
- 戻り遷移に共有要素が含まれていないことをフレームワークに伝えるにはどうすればよいですか?
- 戻り遷移における遷移の開始値と終了値は? Enter トランジションでは、アクティビティ A の上に描画されるアクティビティ B のビューをほとんど操作しました。リターントランジションでは何が起こりますか?
私が得ることができる助けに感謝します!
編集:
さらに調査したところ、createAnimator
を呼び出しているにもかかわらず、リターン トランジションが呼び出されていないことがわかりsetSharedElementReturnTransition
ました。しかし、set 呼び出しが何かを行っていることはわかっています。これは、元の入力アニメーション (デフォルトの動作) を逆にしようとせず、2 つのビューをオーバーラップさせるだけではないためです。
編集#2:
ジョージ・マウントの答えを見た後、私は追加しました
@Override
public void captureStartValues(TransitionValues transitionValues) {
transitionValues.view.setVisibility(View.VISIBLE);
}
@Override
public void captureEndValues(TransitionValues transitionValues) {
transitionValues.view.setVisibility(View.INVISIBLE);
}
これによりcreateAnimator
、アニメーションがまだ奇妙ですが、少なくともリターントランジションが実行されます。なぜ視認性が重要なのですか?