Android Fragment过渡旧片段下方的新片段

时间:2019-12-17 18:04:09

标签: android android-fragments navigation

我正在寻找特定的片段过渡动画:

我在屏幕上有一个当前的(旧)片段A,并想导航到(新的)片段B。片段A应该向下滑动并显示出片段A后面的片段B。不幸的是,我没有找到使该过渡动画的方法。片段B总是在片段A的前面。

片段A的动画正在工作,但是被片段B覆盖。通过更改片段B的alpha值可以看到这一点。因此,我正在寻找一种方法来更改两个片段的z顺序。

动画中的zAdjustment无效。

我的导航控制器:

<fragment
    android:id="@+id/fragmentA"
    android:name=".fragment_a"
    android:label="FragmentA"
    tools:layout="@layout/fragment_a">

    <action
            android:id="@+id/action_fragment_a_to_fragment_b"
            app:destination="@id/fragment_b"
            app:enterAnim="@anim/nothing"
            app:exitAnim="@anim/slide_out_bottom_animation"
            app:popEnterAnim="@anim/slide_in_bottom_animation"
            app:popExitAnim="@anim/nothing" />
</fragment>

我的动画:

一无所有

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <alpha
            android:duration="@android:integer/config_mediumAnimTime"
            android:fromAlpha="1.0"
            android:toAlpha="1.0"
            android:zAdjustment="bottom" />
</set>

slide_out_bottom_animation:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
        android:shareInterpolator="false">
    <translate
            android:duration="@android:integer/config_mediumAnimTime"
            android:fromXDelta="0%"
            android:fromYDelta="0%"
            android:toXDelta="0%"
            android:toYDelta="100%"
            android:interpolator="@android:anim/accelerate_interpolator"
            android:zAdjustment="top"/>
</set>

谢谢

马塞尔

0 个答案:

没有答案