我有一个android项目作为库,这个库包含一个主屏幕。新的应用程序需要这个主屏幕(以及库中的其他所有内容),但是还需要对所有图形进行更改,以及添加一些新按钮,我该怎么做?
我不想编辑图书馆。我可以让新应用程序具有与库同名的图像,因此新图像会覆盖库图像。但这并没有帮助我在布局中添加3个新按钮,以及活动的新功能(同时保留所有旧功能)。
任何人都有这方面的经验吗?
答案 0 :(得分:1)
从库中扩展home screen
活动。覆盖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);
....
....
}
}