Выход из Android перехода excludeTarget не работает внутри android.support.v4.widget.DrawerLayout
У меня есть активность, которая включает в себя просмотрщик с 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, как показано ниже, для включения только viewpager. Но в этом случае происходит анимация Fade по умолчанию.
getActivity().getWindow().setExitTransition(new Slide(Gravity.LEFT).addTarget(R.id.viewPager));
Кто-нибудь сталкивался с этой проблемой? Любая помощь приветствуется.
Обновить
Проблема появляется, когда у меня есть представления внутри
android.support.v4.widget.DrawerLayout / android.support.design.widget.AppBarLayout
1 ответ
Нам нужно сделать android:transitionGroup="false" явно для родительских представлений.
True, если группа ViewGroup должна действовать совместно во время перехода Activity. Значение по умолчанию - true, если фон не равен NULL или если getTransitionName() не равен NULL или если для SetOutlineProvider (ViewOutlineProvider) был задан ненулевой ViewOutlineProvider, отличный от BACKGROUND), и false в противном случае.