需求
入手一个aar文件的修改功能。
要求
1.可以在主Module之中通过xml配置相关属性。
2.可以在build.gradle之中配置。
3.主module 不配置时,该值保持null。 不要有数据。
方案
根据需求,可以知道我们只能采用resources 配置参数来进行解决。
因为只有resources才能在xml之中初始化,也可以在build.gradle之中初始化。
尝试过在aar文件之中添加ids。
例如: < item name="ssss" type="color" />
但是主Module如果不给该参数进行赋值。就会报错。使用try来捕获,代码不美丽。(不符合要求的第三点 )
实例
在aar库之中实现:
int i =context.getResources().getIdentifier("ssss", "color", context.getPackageName());
if (i != 0) {
defualColor = context.getColor(i);
}
主Module之中
//可以直接在这个地方添加
defaultConfig {
resValue "color", "ssss", "#FD7D28"
}
//如果有productFlavors
productFlavors{
dev{
resValue "color", "ssss", "#FD7D28"
}
}
也可以在color.xml文件之中添加
< color name="ssss">#FD7D28 </ color>
上面案例是color值,我们可以拓展String,int等参数
评论区