我正在实现 Fragment 转场动画。
我的 exit
动画是
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:ordering="together">
<objectAnimator
android:propertyName="scaleX"
android:valueType="floatType"
android:valueFrom="1.0"
android:valueTo="0.95"
android:duration="300"/>
<objectAnimator
android:propertyName="scaleY"
android:valueType="floatType"
android:valueFrom="1.0"
android:valueTo="0.95"
android:duration="300"/>
<objectAnimator
android:propertyName="x"
android:valueType="floatType"
android:valueFrom="0"
android:valueTo="10dp"
android:duration="300"/>
</set>
进入
动画为:
<?xml version="1.0" encoding="utf-8"?>
<objectAnimator
xmlns:android="http://schemas.android.com/apk/res/android"
android:propertyName="x"
android:valueType="floatType"
android:valueFrom="1280"
android:valueTo="0"
android:duration="400"/>
交易是这样创建的:
fragmentManager.beginTransaction()
.setCustomAnimations(enter, exit, popEnter, popExit)
.replace(CONTENT_CONTAINER_ID, newFragment)
.addToBackStack(null)
.commit();
在正常的动画速度下,由于动画持续时间短,不需要的效果几乎是不可见的,但当您放慢它们的速度时,您可以清楚地看到z-order
是错误的。
进入片段动画位于退出片段动画之下。是否有解决方法来解决这个问题?