5.0 上的 getDrawable NotFoundException

getDrawable NotFoundException on 5.0

正在加载矢量图,这个

ContextCompat.getDrawable(context, R.drawable.figure_bp);

在 5.0 之前的设备上工作正常。在较新的 API 上,它会因错误

而崩溃
Resources$NotFoundException: File res/drawable/figure_wp.xml from drawable resource ID #0x7f070079

我尝试过其他构建版本 25.3.1 ,26 ...

不同的方法:

VectorDrawableCompat.create(context.getResources(), R.drawable.figure_wp, null);
context.getResources().getDrawable(R.drawable.figure_wp, null);
AppCompatResources.getDrawable(context, R.drawable.figure_wp);
...

还有vectorDrawables.useSupportLibrary = true

总是同样的问题。有时它会先检查 anydpi

大部分相关问题我都看过了,运气不好

尝试在 gradle

中添加 vectorDrawables.useSupportLibrary = true
  defaultConfig {
        applicationId "...."
        minSdkVersion ..
        targetSdkVersion ..
        versionCode 1
        versionName "1.0"
      vectorDrawables.useSupportLibrary = true
    }

在浪费了 3 个小时后我弄明白了。 显然 api > 19 && api < 24 不能有渐变标签。 虽然它应该忽略它们,但它却因为不相关的错误而让我崩溃。

正在替换

    <aapt:attr name="android:fillColor">
        <gradient android:endX="13760.793757781983"
            android:endY="6638.382661392212"
            android:startX="3736.5152613830564"
            android:startY="6573.006932067871" android:type="linear">
            <item android:color="#FFFFFFFF" android:offset="0.0"/>
            <item android:color="#00FFFFFF" android:offset="1.0"/>
        </gradient>
    </aapt:attr>

android:fillColor = "#FFFFFFFF"

已解决问题。必须在我使用的所有矢量上手动完成,因为它是 android studio 的 SVG 解析器为我解析了原始 svg。

感谢 指导我解决问题![​​=13=]