预期的动画资源类型

时间:2016-03-08 21:47:02

标签: android android-animation

.setCustomAnimations(R.animator.in_animation,R.animator.out_animation) 以下内容抛出了“预期的resimource类型的动画”

getSupportFragmentManager()
            .beginTransaction()
            .setCustomAnimations(R.animator.in_animation, R.animator.out_animation)
            .replace(R.id.a_fragment, SingleAnswerFragment.newInstance())
            .addToBackStack(null)
            .commit();

我确实通过流程线程Android Studio's "expected resource of type" checks?检查了这个堆栈,我确实看到了在这种情况下我可能会使用@Animator Res注释,但我不确定如何在我的方法链接中使用它如上所示

https://stackoverflow.com/a/18511350/5596604在这里,我看到了一个可能的解决方案,但不知道他在他的步骤中意味着什么,(将NineOldAndroids库导入support-v4库) 将support-v4-nineoldandroids库导入到我的项目中。)NineOldAndroids支持库的github链接,在配置部分“从类路径中删除Google的支持v4库”中说明。

3 个答案:

答案 0 :(得分:7)

您正在向R.animator方法提供@AnimatorRes资源(setCustomAnimations()),但它需要R.anim资源类型(@AnimRes)。如果切换到R.anim引用的某些动画,它应该编译并运行。

  

但是我不确定如何在我的方法链接中使用它,如上所示

我不确定你的意思。也许this可以解释这个问题。另外here您可以找到包含简短说明的所有Android注释的列表。

答案 1 :(得分:1)

只能使用带有Property Animation的setCustomAnimations和android.app.Fragment。使用android.support.v4.app.Fragment,您应该使用TweenAnimation

答案 2 :(得分:0)

我非常确定你使用的是android.support.v4.app.Fragment类的片段,而不是android.app.Fragment。此类不允许您尝试使用的属性动画。 如果是,请将您的片段更改为android.app.Fragment(相应地更改所有其他片段,例如getSupportFragmentManager()getFragmentManager()),这应该会有所帮助。