2016-10-06 2 views
2

RecyclerViewは、ビューポート内のフラグメント内にあり、RecyclerViewDetailActivityのフラグメントを含むアイテムの共有要素です。私はDetailActivityの内部でトランジションを設定しています。フラグメントからビューページを含むアクティビティを終了するときに共有要素の遷移が動作しない

public static void sharedTransitionReceiver(Activity activity, Fragment fragment) { 
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
     activity.getWindow().getEnterTransition().setDuration(500); 
     Slide slideTransition = new Slide(Gravity.START); 
     slideTransition.setDuration(500); 
     fragment.setReenterTransition(slideTransition); 
     fragment.setExitTransition(slideTransition); 
     fragment.setSharedElementEnterTransition(new ChangeBounds()); 
    } 
} 

それは戻って元の位置にアニメーション化しないであろうだけで正常に動作しているが、私は戻ってViewpager出口アニメーションを含む前のアクティビティに移動すると作業項目されていません。

+0

setSharedElementReturnTransition()を呼び出して、ユーザーが戻るボタンを押したときにViewが2番目のFragmentから最初のFragmentに戻る方法を指定します。 –

+0

同じものは使用されていません。 – mjosh

+0

@BurakCakirドキュメントリターンアニメーションでは、デフォルトでエントリアニメーションの逆です。 – mjosh

答えて

3

4時間の努力の後、私はその答えが簡単であるとは想像できません。私はsupportFinishAfterTransition();を使用しなければならない代わりに、すべてのフラグメントをスタックからポップした後にfinish()と呼んでいました。

+0

あなたは断片から活動への共有要素の遷移を実行する方法を教えてくれますか? – AndroidGeeks

関連する問題