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

Ped*_*nço 6 animation android android-animation android-layout android-view

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

Intent intent = new Intent(getApplicationContext(), MyActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.slide_right_in, R.anim.slide_right_out);
Run Code Online (Sandbox Code Playgroud)

问题

问题是我在所有活动中都包含了一个底部导航,我不希望它被动画化,我想排除它。

在此处输入图片说明

我正在努力实现的目标

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

在此处输入图片说明

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

azi*_*ian 4

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

Transition slide = new Slide(Gravity.RIGHT);
slide.excludeTarget(bottomNavigationView, true);
getWindow().setEnterTransition(slide);
Run Code Online (Sandbox Code Playgroud)

请参阅此处的详细实现。

您可以看到支持转换包Slide,它将 Transitions API 功能向后移植到 API 14。但我在类列表中找不到转换。否则你可以使用TransitionEverywhere.