当前位置:  开发笔记 > 编程语言 > 正文

如何使应用程序的矢量drawable覆盖库的矢量drawable?

如何解决《如何使应用程序的矢量drawable覆盖库的矢量drawable?》经验,为你挑选了1个好方法。

我有一个图书馆项目和一个应用项目.除了其他东西,libary项目包含一些png和一些矢量drawables.现在,我可以通过给它相同的名称轻松覆盖应用程序项目中的png drawable,它将正确显示.但这不适用于矢量drawables:应用程序总是显示在Android 4和5上的库中定义的矢量drawables.应用程序永远不会显示应用程序项目的矢量drawables.

Google声称应用程序的资源始终优先于图书馆的资源:

由于工具将库模块的资源与依赖应用程序模块的资源合并,因此可以在两个模块中定义给定的资源ID.在这种情况下,工具从应用程序或具有最高优先级的库中选择资源,并丢弃其他资源.在开发应用程序时,请注意,可能会在多个项目中定义公共资源ID并将其合并,应用程序或最高优先级库中的资源优先.

但正如我所说,在矢量绘图的情况下,由于某种原因,它是相反的.知道我能做些什么来确保矢量drawables被覆盖就像普通的drawables和其他资源一样?

更新:已解决支持库v23.2!现在没什么可做的:)



1> Jared Rummle..:

构建库项目时,VectorDrawable为每个密度创建PNG文件,并将原始文件VectorDrawable放在drawable-anydpi-v21中.

如果你把你VectorDrawable绘制,anydpi-V21在您的应用程序,那么它会覆盖从资料库中的项目的绘制.这似乎是一个错误,应该创建一个新问题(如果还没有).


注意:这不会替换库中生成的PNG文件.您还需要将这些内容添加到您的应用中以覆盖它们.

推荐阅读
贴进你的心聆听你的世界
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有