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