忽略工具栏的活动转换

时间:2016-11-07 09:14:56

标签: android android-toolbar android-transitions

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

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

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

完成问题,这是我的过渡xmls之一:

<?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);

由于

3 个答案:

答案 0 :(得分:2)

好吧,所以我在几个小时后就找到了答案。我在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>

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

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

答案 1 :(得分:1)

我的建议是制作一个包含工具栏和容器布局的单个活动,并将片段放在容器中并对片段进行转换。它可以解决您的问题。

答案 2 :(得分:0)

尝试在您的样式中添加以下代码。看看它是否有效

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