gpt4 book ai didi

android - 动画师类型的预期资源 [ResourceType]

转载 作者:IT老高 更新时间:2023-10-28 22:04:40 26 4
gpt4 key购买 nike

我已将我的 SDK 更新到最新版本,但现在出现 lint 错误。

Error: Expected resource of type animator [ResourceType]

错误发生在这一行:

AnimatorInflater.loadAnimator(context, R.anim.right_slide_in)

引用的资源 /res/anim/right_slide_in.xml 如下所示:

<?xml version="1.0" encoding="utf-8"?>
<objectAnimator xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/linear_interpolator"
android:valueTo="0"
android:valueFrom="1.0"
android:propertyName="xFraction"
android:valueType="floatType"
android:duration="450" />

它以前总是有效的。有人可以解释为什么我会收到这个错误吗?

最佳答案

发生错误是因为您将 Animator 资源存储在错误的目录中!它以前工作过,因为 AnimatorInflater 可以加载 xml,而不管它保存在哪个文件夹中。

    res/anim/ 文件夹中的 R.anim.* 资源用于查看动画。 /res/animator/ 文件夹中的 R.animator.* 资源用于 Animators

所以要修复错误,只需将 Animator 资源从 /res/anim/ 移动到 /res/animator/


在将资源类型注释添加到支持库之前,这根本没有任何区别。除了这些注释之外,还有许多新的 lint 检查,这些检查让你绊倒了。

以后如果您遇到这样的错误,您可以查看注释以找出您做错了什么。例如 AnimatorInflaterloadAnimator() 的实现如下所示:

public static Animator loadAnimator(Context context, @AnimatorRes int id)
throws NotFoundException {
return loadAnimator(context.getResources(), context.getTheme(), id);
}

id参数上的@AnimatorRes注解表示这里只需要传递Animator资源。如果您查看 @AnimatorRes 的文档,它的内容如下:

Denotes that an integer parameter, field or method return value is expected to be an animator resource reference (e.g. android.R.animator.fade_in).

如果描述没有解释错误,那么示例通常会解释;)

关于android - 动画师类型的预期资源 [ResourceType],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34293718/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com