我有一个Android片段,我想在多个应用程序中使用。片段具有用作按钮的多个图像。在每个应用程序中,我想使用一组不同的资源。例如,一个应用程序中的图像将与另一个应用程序中的图像不同,但是将在相同大小的图像之间仍然存在一对一的对应关系。
我的理解是模块是代码和资源,而普通库只是代码。如果我构建一个模块,所有与模块内部片段相关的资源,或者使用该模块的不同应用程序的图像是否可以不同?假设片段请求的所有资源文件在应用程序中可用,库方法是否可以工作?这似乎是非常差的封装,但如果资源包含在模块中,我不知道如何避免这种情况。
答案 0 :(得分:1)
根据我的理解,您希望使用库项目中的片段,并希望更改特定于应用程序的图像。
如果是这种情况,请将该库片段设为abstact
并强制子片段实现初始化图像视图的方法。这应该像
protected ImageView profilePicIV;
// Abstract Methods
protected abstract initialiseProfilePic();
protected abstract initialisePic1();
protected abstract initialisePic2();
然后在库中扩展Fragment并实现方法。
@override<br/>
protected abstract initialiseProfilePic()
{
profilePicIV.setImageResource(R.drawable.xxx);
}
从Library片段的构造函数中调用此方法。
的问候,
沙