我如何使用“sdk / color.xml”中“app / color.xml”中提到的颜色()

知识的领域是无限的,我们的学习也是无限期的。这篇文章主要讲述我如何使用“sdk / color.xml”中“app / color.xml”中提到的颜色?相关的知识,希望能为你提供帮助。
【我如何使用“sdk / color.xml”中“app / color.xml”中提到的颜色()】我需要将应用程序中的颜色更改为库(SDK)。我需要使用SDK中app中的color.xml文件中的颜色。 SDK有自己的color.xml。因此,应用程序中的color.xml文件所做的更改也应该适用于SDK。
应用程序/ color.xml

< resource> < color name="pop_up"> #4fe40f< /color> < /resource>

SDK / color.xml
< resource> < color name="popup_color"> ?attr/pop_up< /color> < /resource>

SDK / attrs.xml
< resources> < attr name="pop_up" format="reference|color"/> < /resources>

我尝试过使用?attrs / color_name和父/子样式,无法覆盖SDK中的颜色。
预期结果 ::
应用程序/ color.xml
< resource> < color name="pop_up"> #4fe40f< /color> < /resource>

SDK / color.xml
< resource> < color name="popup_color"> @color/pop_up< /color> // color "pop_up" should come from app and apply here. < /resource>

答案无需读取app / color.xml中的值,如果SDK / color.xml中存在具有相同颜色名称的颜色,它将直接覆盖
应用程序/ color.xml
< resource> < color name="pop_up"> #4fe40f< /color> < /resource>

SDK / color.xml
< resource> < color name="pop_up"> #64646585< /color> // #4fe40f is override < /resource>

另一答案解:
应用程序/ color.xml
< resource> < color name="pop_up"> #4fe40f< /color> < /resource>
SDK / color.xml
< resource> < color name="pop_up"> "#000000"< /color> < /resource>
项目的资源文件将始终覆盖sdk的资源文件。在sdk中定义一个参数名称,如果主项目中存在相同的参数名,它将使用项目中的值。
所以你的解决方案是在sdk中声明一个名为pop_up的颜色,并在项目中声明相同的颜色。

    推荐阅读