我有一个android项目作为库,这个库包含一个主屏幕。新应用程序需要这个主屏幕(以及库中的其他所有内容),但还需要对所有图形进行更改,并添加一些新按钮,我该怎么做?
我不想编辑库。我可以让新应用程序具有与库同名的图像,这样新图像就会取代库图像。但这并不能帮助我向布局添加 3 个新按钮,以及向 Activity 添加新功能(同时保留所有旧功能)。
有人有过类似的经历吗?
最佳答案
从库中扩展主屏幕
Activity 。覆盖onCreate(Bundle)
:
public class NewMainActivity extends HomeScreenActivityFromLibrary {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View viewFromLibrary = getLayoutInflater().inflate(
library.package.name.R.layout.home_screen, null);
// Make changes; add Buttons to `viewFromLibrary`
// Add functionality to Buttons; setOnClickListeners
setContentView(viewFromLibrary);
}
}
根据您的 HomeScreenActivityFromLibrary
设置方式,您可能需要重写其他方法。您可以做的另一件事是:只需将 HomeScreenActivityFromLibrary
中使用的布局文件复制到项目的 res/layout
文件夹中。在 xml 文件中添加其他小部件(按钮等)。在这种情况下,您需要做的就是:
public class NewMainActivity extends HomeScreenActivityFromLibrary {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.newly_created_xml_file);
Button b1 = (Button) findViewById(R.id.b1_id);
....
....
}
}
关于java - 使用项目作为库,但需要更改 contentView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18387082/