我使用的是23.4版的设计支持库。0.我已启用渐变标志:
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
我正在使用构建工具23.0版。2,但我仍然在KitKat或更低版本上获得Resources$NotFoundException
。
当我使用android时,它会发生:绘图左
或ImageView.setImageResources(R.drawable.drawable_image)
。
是的,我在每一个我使用抽绳的活动中都会用到这个
static {
AppCompatDelegate.setCompatVectorFromResourcesEnabled(true);
}
这是支持库的错误吗?
尝试使用:
imageView.setImageDrawable(VectorDrawableCompat.create(getResources(), drawableRes, null));
您不必添加AppCompatDelegate。SetCompativectorFromResourcesEnabled(true)
这边。
只需使用VectorDrawableCompat为vector drawables充气即可。
为了补充这里的一些答案:对VectorDrawables的向后兼容支持是有代价的,并且并非在所有情况下都有效。
在哪些情况下有效?我做了这个图来帮助(对支持库23.4.0到至少25.1.0有效)。
我花了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文件中。 和错误: 有什么想法吗?