我目前正在为Eclipse(Java)中的智能手机和平板电脑制作布局项目。我按照开发者网站上的说明,如何为不同的屏幕创建不同的布局,这很好。
我遇到的问题是我想在不同的布局中使用不同的按钮,当我从中移除1个按钮时,让我说我的智能手机版本,但我想在我的平板电脑版本中使用它,智能手机版本崩溃,因为在MainActivity中。 java它需要一个他找不到的按钮。
我试图通过为每个设备创建一个不同的mainActivity页面来解决问题,但我无法弄清楚是否有可能在AndroidManifest中创建多个具有不同名称的启动页面,具体取决于当前使用的设备。
问候。
答案 0 :(得分:0)
如果它是一个不同的按钮,但按钮仍然存在,那么你可以初始化变量以引用其他按钮和代码仍然可以工作。
如果行为不一样,那么你可以有一个包含大部分公共代码的基类,以及每个布局一个的2个子类。
答案 1 :(得分:0)
问题是你可能会为不同布局文件中的不同按钮提供不同的id。根据布局文件夹更改drawable / style,但为不同布局中的所有按钮保持id相同。
答案 2 :(得分:0)
我建议您使用AndroidQuery来实现此目的。它在一个简单的代码中支持多个ui实现。
public void renderContent(Content content, View view) {
//this is a phone!
//this view exists
aq.id(R.id.textInMobileLayoutOnly).text("Welcome to my Mobile App!");
//this button exist in tablet layout only, but it's ok
//AQuery will ignore all the operations on this view
aq.id(R.id.butttonInTabletOnly).text("Open a new tab!");
}