当前位置: 首页 > 知识库问答 >
问题:

支持库矢量可绘制资源$NotFoundException

宋朝
2023-03-14

我使用的是23.4版的设计支持库。0.我已启用渐变标志:

defaultConfig {
    vectorDrawables.useSupportLibrary = true
}

我正在使用构建工具23.0版。2,但我仍然在KitKat或更低版本上获得Resources$NotFoundException

当我使用android时,它会发生:绘图左ImageView.setImageResources(R.drawable.drawable_image)

是的,我在每一个我使用抽绳的活动中都会用到这个

static {
    AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}

这是支持库的错误吗?

共有3个答案

朱炳
2023-03-14

尝试使用:

imageView.setImageDrawable(VectorDrawableCompat.create(getResources(), drawableRes, null));

您不必添加AppCompatDelegate。SetCompativectorFromResourcesEnabled(true) 这边。

只需使用VectorDrawableCompat为vector drawables充气即可。

瞿兴朝
2023-03-14

为了补充这里的一些答案:对VectorDrawables的向后兼容支持是有代价的,并且并非在所有情况下都有效。

在哪些情况下有效?我做了这个图来帮助(对支持库23.4.0到至少25.1.0有效)。

年高洁
2023-03-14

我花了3件不同的事情来让它使用支持库23.4.0工作:

>

defaultConfig {
    vectorDrawables.useSupportLibrary = true
}

在创建应用程序类时添加以下内容

AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);

(从这个链接的参考-"https://stackoverflow.com/a/45582033/10752962")

在API小于21的情况下,在setContentView()之前使用此行;

对于要在其中设置向量可绘制替换的所有XML视图

android:src

具有

app:srcCompat

并在代码中替换以下内容:

imageView.setImageResource(...);

具有

imageView.setImageDrawable(...);

 类似资料:
  • 此页面包含来自 Booyant 和 linkerd 用户的关于 linkerd 的博客和谈话。 通过 Buoyant的博客 查看更多的帖子! 注: 详细列表请见原文(没有翻译的必要): https://linkerd.io/overview/external-resources/

  • 我需要动态设置通知图像图标,它的名字动态传递给我的类。为此,我需要设置builder.setSmallIcon(intres_id)。我谷歌了一下,但是人们已经使用了setDrawableImage()的例子,我已经看到了这篇文章,并相应地在我的代码中实现。 当然,这会显示错误,因为setSmallIcon()需要将整数传递给它。con是传递给我的构造函数的上下文。我已经看到如何在android中

  • 在我的应用程序中,我必须为通知设置一个大图标。LargeIcon必须是位图,我的可绘制内容是矢量图像(Android中的新功能,请参见此链接)。问题是,当我尝试解码矢量图像资源时,返回空值。 以下是代码示例: 在本示例中,当我替换R.drawable时。vector_menu_objectifs带有“普通”图像,例如png,结果不为空(我得到了正确的位图)是否缺少什么?

  • 我试图将一个可绘制资源转换为位图,但每个代码段和每个自己的尝试都返回null或空字符串。 我尝试了一些基本的方法,比如Bitmapfactory。decodeResource(在这里,我尝试了活动上下文、应用程序上下文等,以及各种可绘制资源(png、vector、xml),我尝试了转换中的不同代码段,它总是返回null或“”。我还尝试更改可绘制文件夹而不是可绘制文件夹-24我尝试了基本的可绘制文件

  • 我从Eclipse中的SDK管理器重新安装了v7 appcompat库。然而,库本身告诉我错误存在于几个不同的xml文件中。 和错误: 有什么想法吗?