【问题标题】:Android exit transition excludeTarget not working inside android.support.v4.widget.DrawerLayoutAndroid 退出转换 excludeTarget 在 android.support.v4.widget.DrawerLayout 内不起作用
【发布时间】:2016-10-12 03:26:30
【问题描述】:

我有一个活动,其中包括一个带有 3 个片段的 viewpager。从第一个选项卡中,我正在调用另一个活动并尝试从退出转换中排除工具栏和选项卡栏。

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 似乎不起作用,并且整个视图都向左滑动。 我已经尝试过像下面这样单独包含 viewpager 的 addTarget。但在这种情况下,默认的 Fade 动画正在发生。

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

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

更新

当我有视图时出现问题

android.support.v4.widget.DrawerLayout / android.support.design.widget.AppBarLayout

【问题讨论】:

    标签: android android-animation material-design android-5.0-lollipop activity-transition


    【解决方案1】:

    【讨论】:

    • 注意:您可以在代码中通过调用ViewGroup.setTransitionGroup for API >= 21 或在所有 API 上通过 ViewGroupCompat.setTransitionGroup 来执行此操作
    • 不确定是我还是在线文档,但这是我成功的关键!无论我做了什么,将目标添加到任何过渡都会使其不起作用 - 直到我添加了 android:transitionGroup=false。我知道罪魁祸首是我的父视图组有背景......文档指出:ViewGroup 的默认值为 false,除非它有背景。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    • 2013-05-22
    • 1970-01-01
    • 2013-07-30
    • 1970-01-01
    相关资源
    最近更新 更多