.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库”中说明。
答案 0 :(得分:7)
您正在向R.animator
方法提供@AnimatorRes
资源(setCustomAnimations()
),但它需要R.anim
资源类型(@AnimRes
)。如果切换到R.anim
引用的某些动画,它应该编译并运行。
但是我不确定如何在我的方法链接中使用它,如上所示
答案 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()
),这应该会有所帮助。