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=]
正在加载矢量图,这个
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。
感谢