我有一个图书馆项目和一个应用程序项目。除其他外,libary项目还包含一些png和一些 vector 可绘制对象。现在,我可以通过给它一个相同的名称来轻松覆盖应用程序项目中的png可绘制对象,它将正确显示。但是,这不适用于 vector 可绘制对象:在Android 4和5上,该应用程序始终显示库中定义的 vector 可绘制对象。该应用程序永远不会显示应用程序项目的 vector 可绘制对象。

Google claims an application's resources always have priority over a library's resources:



但是正如我所说,在 vector 可绘制对象的情况下,由于某种原因,情况恰恰相反。知道如何做才能确保 vector 可绘制对象像普通可绘制对象和其他资源一样被覆盖吗?

更新:Resolved in support library v23.2!现在什么也没做:)

最佳答案

构建库项目后,VectorDrawable为每种密度创建PNG文件,并将原始VectorDrawable放入 drawable-anydpi-v21 中。

如果将VectorDrawable放置在应用程序的 drawable-anydpi-v21 中,则它将覆盖库项目中的drawable。这似乎是一个错误,应该创建一个新问题(如果尚不存在)。

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

关于android - 如何使应用程序的矢量可绘制覆盖库的矢量可绘制?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34608197/

10-10 20:18