Android 退出转换排除了在 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());
                }

问题是排除目标似乎不起作用,整个视图向左滑动。我已经尝试像下面这样添加目标以单独包含查看页。但在这种情况下,默认的淡入淡出动画正在发生。

getActivity().getWindow().setExitTransition(new Slide(Gravity.LEFT).addTarget(R.id.viewPager));

有人遇到过这个问题吗?任何帮助表示赞赏。

更新

当我有里面的视图时出现问题

android.support.v4.widget.DrawerLayout / android.support.design.widget.AppBarLayout
我们需要为

父视图显式地制作 android:transitionGroup="false"。

如果应在活动转换期间一起对视图组执行操作,则为 True。当存在非空背景或getTransitionName()不为空时,或者如果将BACKGROUND以外的非空ViewOutlineProvider提供给setOutlineProvider(ViewOutlineProvider)时,默认值为true,否则为false。

相关内容

最新更新