我的应用程序使用具有应用程序核心的库项目“核心项目”,然后针对每个受支持设备的特性,即“子项目”进行小项目,即。亚马逊消防电视,Kindle平板电脑,普通谷歌平板电脑,手机等。
比方说,我有一个自定义视图类MyCustomView
,它以编程方式扩展布局R.layout.layout_customview
。 两者都在核心项目上:
public class MyCustomView {
.
.
inflate (R.layout.layout_customview);
.
.
}
我想在其中一个子项目中为此自定义视图创建一个替代布局,因此我创建了layout_customview.xml
并将其放入子项目res / layout。
但是,自定义视图会在核心项目res / layout下继续膨胀另一个视图(听起来很合乎逻辑,因为它们都位于同一个项目中)。
有没有办法改变这种行为?即。 “覆盖”xml布局文件,或者我必须为替代布局提供不同的名称,扩展类等。?
答案 0 :(得分:3)
在应用程序和服务器中定义资源ID的情况下 库,工具确保在中声明的资源 应用程序获得优先级,并且库项目中的资源 未编译到应用程序.apk中。这给你的应用程序 使用或重新定义任何资源行为的灵活性 在任何库中定义的值。
我想这里更好的方法就是在你的项目中复制xml。