从Android中的过渡动画中排除BottomNavigation

时间:2017-04-16 02:51:53

标签: android android-layout animation android-animation android-view

我一直在寻找,但我找不到有助于解决这一特定问题的答案。 我的应用程序有一个自定义的滑入式滑出效果,如下所示:

Intent intent = new Intent(getApplicationContext(), MyActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.slide_right_in, R.anim.slide_right_out);

问题

问题是我在所有活动中都包含BottomNavigation,我不希望它被动画化,我想将其排除。

enter image description here

我想要实现的目标

我想从动画中排除底部导航。或者,换句话说,我怎样才能在转换之间设置动画内容?

enter image description here

编辑:我已经尝试过使用共享元素,但我希望它能在API 21下工作。

1 个答案:

答案 0 :(得分:2)

无法从overridePendingTransition() API中排除组件。相反,您必须转到Transitions API。特别是,这是Slide过渡动画,您可以在其中排除底部导航视图。

Transition slide = new Slide(Gravity.RIGHT);
slide.excludeTarget(bottomNavigationView, true);
getWindow().setEnterTransition(slide);

查看具体实施here

您可以看到support transition package将过渡API API功能向后移植到API 14.但我无法在类列表中找到Slide转换。否则,您可以使用TransitionEverywhere