片段交易自定义动画 - Android

时间:2011-04-08 14:50:35

标签: android

我想做: ft.setCustomAnimations(android.R.animator.fade_in, android.R.animator.fade_out);

但我的动画名称为未知的异常:objectAnimator - 请参阅以下详细信息:

04-08 10:45:41.637: ERROR/AndroidRuntime(1222): FATAL EXCEPTION: main
04-08 10:45:41.637: ERROR/AndroidRuntime(1222): java.lang.RuntimeException: Unknown animation name: objectAnimator
04-08 10:45:41.637: ERROR/AndroidRuntime(1222):     at android.view.animation.AnimationUtils.createAnimationFromXml(AnimationUtils.java:124)
04-08 10:45:41.637: ERROR/AndroidRuntime(1222):     at android.view.animation.AnimationUtils.createAnimationFromXml(AnimationUtils.java:91)
04-08 10:45:41.637: ERROR/AndroidRuntime(1222):     at android.view.animation.AnimationUtils.loadAnimation(AnimationUtils.java:72)

为什么会出错?我不知道如何解决它。请帮忙。感谢。

仅供参考:我的min sdk是7,但我是使用兼容性库为sdk 11构建的。

3 个答案:

答案 0 :(得分:9)

您必须以3.0(API级别11)为目标才能使用新的对象动画制作者。如果您要构建较低版本,则必须使用较旧的动画过渡(android.R.anim)。

但是,我认为compat库中的片段动画已经按照Dianne Hackborn在this帖子中的说明进行了修改。

答案 1 :(得分:4)

我分叉了支持库,以添加对自定义片段转换中使用NineOldAndroids动画师的支持。请注意,它们仅适用于CustomTransition,而不适用于主题设置。必须必须使用对象动画制作者,因为视图动画将不再有效。 android_frameworks_support

答案 2 :(得分:0)

当您的应用超过11级API时。

在导入时更改此内容

  • import android.support.v4.app.Fragment;

用这个

  • import android.app.Fragment;

确保您的应用不包含对您的导入的support.v4导入,否则将会遇到编译问题。