3 つのフラグメントを持つビューページャーを含むアクティビティがあります。最初のタブから、別のアクティビティを呼び出して、終了遷移からツールバーとタブ バーを除外しようとしています。
if (Build.VERSION.SDK_INT >= 21) {
getActivity().getWindow().setExitTransition(new Slide(Gravity.LEFT).excludeTarget(R.id.toolbar,true));
Pair<View, String> pair1 = Pair.create((View) matCvr, matCvr.getTransitionName());
Pair<View, String> pair2 = Pair.create((View)matTxt, matTxt.getTransitionName());
ActivityOptionsCompat options = ActivityOptionsCompat.makeSceneTransitionAnimation(getActivity(),pair1,pair2);
ActivityCompat.startActivity(getActivity(), matIntent, options.toBundle());
}
問題は、excludeTarget が機能していないようで、ビュー全体が左にスライドしていることです。ビューページャーのみを含めるために、以下のように addTarget を試しましたが、その場合、デフォルトのフェード アニメーションが発生しています。
getActivity().getWindow().setExitTransition(new Slide(Gravity.LEFT).addTarget(R.id.viewPager));
誰もこの問題に直面しましたか? どんな助けでも感謝します。
アップデート
内部にビューがあると問題が発生します
android.support.v4.widget.DrawerLayout / android.support.design.widget.AppBarLayout