Анимацию перехода от Fragment в Fragment

У меня есть два фрагмента, и я хочу что бы во время replace одного фрагмента другим, выполнялась анимация, что-то по типу - первый фрагмент остается на месте, а второй накладывается на него справа, при нажатии на клавишу назад, второй фрагмент уезжает в права, тем самый первый фрагмент становится видимым, но негде не наше примера реализации такой анимации, а у самого не выходит


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

Автор решения: Arty Morris

Я использую такой код

FragmentManager fm;
fm.beginTransaction()
     .setCustomAnimations(R.anim.to_right_in, R.anim.to_right_out, R.anim.to_left_in, R.anim.to_left_out)
     .replace(R.id.fragmentContainer, _fragment)
     .addToBackStack(null)
     .commit();

Также необходимо добавить в res/anim 4 файла: to_right_in, to_right_out, to_left_in, to_left_out.

to_left_in

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="250"
    android:interpolator="@android:anim/accelerate_interpolator"
    >
    <translate android:fromXDelta="100%" />
</set>

to_left_out

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="250"
    android:interpolator="@android:anim/accelerate_interpolator"
    >
    <translate android:toXDelta="-100%" />
</set>

to_right_in

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="250"
    android:interpolator="@android:anim/accelerate_interpolator"
    >
    <translate android:fromXDelta="-100%" />
</set>

to_right_out

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="250"
    android:interpolator="@android:anim/accelerate_interpolator"
    >
    <translate android:toXDelta="100%" />
</set>
→ Ссылка