android 片段事务
Posted
技术标签:
【中文标题】android 片段事务【英文标题】:android Fragment Transaction 【发布时间】:2015-08-28 05:25:53 【问题描述】: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 : Unknown animation name objectanimator 的可能重复项 【参考方案1】:我相信您正在尝试在支持片段库中使用objectAnimator
,但它是在 Android Api 级别 11 中添加的。
使用
getFragmentManager()
而不是
getSupportFragmentManager()
如果您在 xml 文件中声明对象动画,请务必将其放入 animator 文件夹而不是 anim 文件夹,以告诉 android 使用新的动画框架。
支持片段管理器不支持动画师(仅动画)。异常消息表明您的 xml 资源中的动画格式错误,可能是因为您已将 animator 移动到此错误的 xml(因为它们具有不同的符号)。您需要以正确的方式编写它:http://developer.android.com/guide/topics/graphics/view-animation.html
希望对你有帮助!
【讨论】:
以上是关于android 片段事务的主要内容,如果未能解决你的问题,请参考以下文章
Android 4.4 — 半透明状态/导航栏 — fitSystemWindows/clipToPadding 不能通过片段事务工作