入力したフラグメントと既存のフラグメントの両方について、左のアニメーションに単純なスライドを実行すると、入力フラグメントが出口フラグメントとわずかに重なるようになります。これは、両方の移行が同時に実行されないと考えるようになります。この行動の手がかりや確認はありますか?フラグメントの入力と終了のトランジションは同時に実行されません
望ましい効果は、フラグメントを重ならずに同時に左にスライドさせることです。
コード:によって
Fragment current = ...;
Fragment fragment = ...;
Transition slideIn = TransitionInflater.from(this)
.inflateTransition(R.transition.fragment_indicator_enter)
.setDuration(300)
.setInterpolator(new LinearInterpolator());
fragment.setEnterTransition(slideIn);
currentFragment.setExitTransition(TransitionInflater.from(this)
.inflateTransition(R.transition.fragment_indicator_exit)
.setDuration(300)
.setInterpolator(new LinearInterpolator()));
getSupportFragmentManager()
.beginTransaction()
.replace(R.id.fragment_container, fragment)
.addToBackStack(null)
.commit();
唯一の回避策は、それが入ってくる遷移のためsetStartDelay(30)を追加することであった知っています。しかし、奇妙なことに、私は別の断片のための異なる遷移を持っており、startDelayは、両方の断片が同時に左にスライドする効果を生成するために異なっていなければなりません。
私の場合はお勧めいただきありがとうございます。私はまったく同じものではないコンテンツの遷移(ロリポップapi)を使用したいです。私は、異なるターゲットビューに異なる効果を適用するカスタムトランジションを使用します。 – juanmeanwhile