FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.setCustomAnimations(R.anim.fade_in, R.anim.fade_out);
fragmentTransaction.replace(R.id.container, objFragment)
.commit();
我编写了这段代码用于在事务期间添加动画。这会产生错误:
java.lang.RuntimeException: Unknown animation name: objectAnimator
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2339)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2413)
at android.app.ActivityThread.access$800(ActivityThread.java:155)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1317)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5343)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:905)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:700)
Caused by: java.lang.RuntimeException: Unknown animation name: objectAnimator
at android.view.animation.AnimationUtils.createAnimationFromXml(AnimationUtils.java:126)
at android.view.animation.AnimationUtils.createAnimationFromXml(AnimationUtils.java:93)
at android.view.animation.AnimationUtils.loadAnimation(AnimationUtils.java:74)
最佳答案
我相信您正在尝试在支持 fragment 库中使用objectAnimator
,但它是在 Android Api level 11 中添加的。
使用
getFragmentManager()
而不是
getSupportFragmentManager()
如果您在 xml 文件中声明了对象动画,请务必将其放入 animator 文件夹而不是 anim 文件夹中,以告诉 android 使用新的动画框架。
支持 fragment 管理器,不支持动画师(仅动画)。异常消息表明您的 xml 资源中的动画格式错误,可能是因为您已将动画师移至此 xml,这是错误的(因为它们具有不同的表示法)。您需要以正确的方式编写它:http://developer.android.com/guide/topics/graphics/view-animation.html
希望对您有帮助!
关于java - android fragment 事务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32263863/