Как правильно сделать анимацию для возврата с фрагмента?

Схема такая в MainActivity FragmentContainerView, который стартует MainFragment, в котором BottomNavigationView, ViewPager2 и три фрагмента, мне надо, чтобы по нажатию на кнопку на одном из фрагментов, совершался переход на другой фрагмент(не из этой тройки), при этом анимация его появления должна быть справа налево и поверх текущего экрана с BottomNavigationView и ViewPager2, это я сделал так:

    <fragment
        android:id="@+id/navigation_main"
        android:name="com.example.test.ui.MainFragment">
        <action
            android:id="@+id/navMain_toNavNext"
            app:destination="@id/navigation_next"
            app:enterAnim="@anim/slide_left"
            app:exitAnim="@anim/wait_anim" />
    </fragment>

slide_left.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false">
    <translate
        android:duration="300"
        android:fromXDelta="100%"
        android:fromYDelta="0%"
        android:toXDelta="0%"
        android:toYDelta="0%" />
</set>

wait_anim.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="300"/>

Эта часть работает хорошо. А вот сделать так чтобы при возврате с фрагмента, текущий так же хорошо уезжал слева направо у меня не выходит.

    <fragment
        android:id="@+id/navigation_next"
        android:name="com.example.test.ui.NextFragment"
        tools:layout="@layout/fragment_next">
        <action
            android:id="@+id/navNext_toNavHome"
            app:destination="@id/navigation_main"
            app:enterAnim="@anim/slide_right"
            app:exitAnim="@anim/wait_anim"
            app:popEnterAnim="@anim/slide_left" />
    </fragment>

slide_right.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false">
    <translate
        android:duration="300"
        android:fromXDelta="0%"
        android:fromYDelta="0%"
        android:toXDelta="100%"
        android:toYDelta="0%" />
</set>

Пытался их ставить уже как угодно, и переписывать сами анимации, всё равно ничего не выходит, либо анимация не отрабатывает, либо отрабатывает но при этом моргает, либо отрабатывает неправильно. Подскажите пожалуйста, что можно сделать.


Ответы (0 шт):