我正在Android项目中使用库。库在ic_sample.png
(hdpi,xhdpi,xxhdpi,xxhdpi)目录中具有drawable/
。我想用我自己的图标替换该图标。
[但在几乎2020年之前不是一个好的解决方案
ic_sample.png
drawable/
下+(hdpi,xhdpi,xxhdpi,xxhdpi)。这是问题-通过矢量可绘制xml覆盖库的图标。
尝试一下:
[创建库项目时,VectorDrawable
为每种密度创建PNG文件,并将原始VectorDrawable
放在drawable-anydpi-v21中]
如果将VectorDrawable
放置在应用程序的drawable-anydpi-v21中,则它将覆盖库项目中的drawable。这似乎是一个错误,应该创建一个新问题(如果尚不存在)。
在构建期间,库中的矢量可绘制对象放置在drawable-anydpi-v21文件夹中。
由于这将在所有v21 +设备上都享有先例,如果您要覆盖库资源,则需要将可绘制的应用程序移动到同一文件夹。
build.gradle
对于v21之前的版本,您需要在库和应用程序上设置vectorDrawables.useSupportLibrary = true
,并将矢量可绘制对象放置在可绘制文件夹中。
示例:
defaultConfig {
vectorDrawables.useSupportLibrary = true
}
NOTE:这不会替换库中生成的PNG文件。您还需要将它们添加到您的应用中以覆盖它们。