知识的领域是无限的,我们的学习也是无限期的。这篇文章主要讲述我如何使用“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的颜色,并在项目中声明相同的颜色。
推荐阅读
- android studio - R未解决+ Clean项目无效
- BasicNetwork.performRequest(意外响应代码401 android Volley库)
- 在React Native中创建android本机模块时,“undefined不是函数”
- 在从Golang Buffalo webapp发送推文时设置CSRF令牌时遇到问题
- 如何在Android应用程序中一次更改所有活动转换()
- UX研究技术及其应用
- UX研究方法和用户共鸣之路
- 想想S.M.A.R.T.在为下一个UX项目定义业务目标时
- UX产品组合技巧和最佳实践