难以使用 backstack 反转片段动画

Difficulty reversing fragment animation with backstack

我目前正在尝试在更改片段时实现自定义动画。 自定义动画仅以一种方式工作,按下后退时不起作用。在返回时显示正确的片段,但没有动画。 我的片段交易代码:

FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.setCustomAnimations(R.anim.slide_in_left, R.anim.slide_out_right, R.anim.slide_in_right, R.anim.slide_out_left);
transaction.replace(R.id.frame_container, fragment, FragmentTag);
transaction.addToBackStack(null);
transaction.commit();

我的动画代码 XML 文件:

//Slide in left
<?xml version="1.0" encoding="utf-8"?>
<set>
    <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
        android:propertyName="x"
        android:valueType="floatType"
        android:valueFrom="-1280"
        android:valueTo="0"
        android:duration="500"/>
</set>

//Slide out right
<?xml version="1.0" encoding="utf-8"?>
<set>
    <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
        android:propertyName="x"
        android:valueType="floatType"
        android:valueFrom="0"
        android:valueTo="-1280"
        android:duration="500"/>
</set>

//Slide in Right
<?xml version="1.0" encoding="utf-8"?>
<set>
    <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
        android:propertyName="x"
        android:valueType="floatType"
        android:valueFrom="-1280"
        android:valueTo="0"
        android:duration="500"/>
</set>

//Slide out Left
<?xml version="1.0" encoding="utf-8"?>
<set>
    <objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
        android:propertyName="x"
        android:valueType="floatType"
        android:valueFrom="0"
        android:valueTo="-1280"
        android:duration="500"/>
</set>

onBackPressed()的代码

@Override
public void onBackPressed()
{
    super.onBackPressed();
}

有什么地方出错了吗?感谢您的帮助

将此代码用于 onBackPressed:

if (getFragmentManager().getBackStackEntryCount() > 0) {
            getFragmentManager().popBackStack();
        } else {
            super.onBackPressed();
        }