我想在 中为我的操作设置默认动画。但是当我转到另一个片段时,应用程序因以下错误而崩溃:
java.lang.RuntimeException: Unknown animator name: accelerateDecelerateInterpolator
at android.animation.AnimatorInflater.createAnimatorFromXml(AnimatorInflater.java:691)
at android.animation.AnimatorInflater.createAnimatorFromXml(AnimatorInflater.java:642)
at android.animation.AnimatorInflater.loadAnimator(AnimatorInflater.java:126)
at android.animation.AnimatorInflater.loadAnimator(AnimatorInflater.java:106)
at android.animation.AnimatorInflater.loadAnimator(AnimatorInflater.java:91)
at androidx.fragment.app.FragmentAnim.loadAnimation(FragmentAnim.java:99)
at androidx.fragment.app.DefaultSpecialEffectsController$AnimationInfo.getAnimation(DefaultSpecialEffectsController.java:877)
at androidx.fragment.app.DefaultSpecialEffectsController.startAnimations(DefaultSpecialEffectsController.java:151)
at androidx.fragment.app.DefaultSpecialEffectsController.executeOperations(DefaultSpecialEffectsController.java:123)
at androidx.fragment.app.SpecialEffectsController.executePendingOperations(SpecialEffectsController.java:306)
at androidx.fragment.app.FragmentManager.executeOpsTogether(FragmentManager.java:1903)
at androidx.fragment.app.FragmentManager.removeRedundantOperationsAndExecute(FragmentManager.java:1814)
at androidx.fragment.app.FragmentManager.execPendingActions(FragmentManager.java:1751)
at androidx.fragment.app.FragmentManager$5.run(FragmentManager.java:538)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:263)
at android.app.ActivityThread.main(ActivityThread.java:8276)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:612)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1006)
在AnimatorInflater.java中我发现很多导入是红色的,所以我认为Android Studio找不到这些依赖项。
所以我认为某些实现可能是错误的:https://github.com/Panicia/MVVMlearning1/blob/main/app/build.gradle
那是因为您使用 Interpolator 作为
app:enterAnim
和 app:exitAnim
。插值器“定义动画的变化率”,这意味着它本身不是动画。只需用一些动画更新 app:enterAnim
和 app:exitAnim
就可以解决问题 - 示例如下:设置动画。