Activity 过渡忽略工具栏

Activity transition ignoring Toolbar

让我们看看是否有人可以帮助我。

在我的应用程序中,我已经成功实现了大部分活动之间的幻灯片切换。我所有的活动布局都包含在一个常规的工具栏和下面的一些内容中。所以我想要的是忽略工具栏并且只影响主要内容的动画。

理想情况下,工具栏应保留在原位,布局的主要内容是滑动内容。

为了完成问题,这是我的转换 xml 之一:

<?xml version="1.0" encoding="utf-8"?>

<translate
    android:duration="500"
    android:fromXDelta="100%"
    android:toXDelta="0%" >
</translate>

这就是我设置转换的方式:

overridePendingTransition(R.transition.out, R.transition.in);

谢谢

我的建议是制作一个 activity 包含工具栏和容器布局,并将片段放在容器内并为片段做过渡。它可能会解决您的问题。

尝试在您的样式中添加以下代码。看看能不能用

<style name="your_theme_name" parent="your_theme">
<item name="android:windowActionBarOverlay">true</item>
</style>

好吧,经过几个小时的努力,我找到了答案。我在 android 7.1 中遇到了一些问题。除此之外,它适用于 5.x 和 6.x

<?xml version="1.0" encoding="utf-8"?>
<slide
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:slideEdge="right"
    android:duration="500">
    <targets>
        <target android:excludeId="@id/toolbar"/>
        <target android:excludeId="@android:id/statusBarBackground"/>
        <target android:excludeId="@android:id/navigationBarBackground"/>
    </targets>
</slide>

如您所见,您可以添加要被动画忽略的视图。在我的例子中,工具栏、状态和导航栏。

然后您可以按照自己喜欢的方式应用动画,它会影响除指定要忽略的元素以外的所有内容。