0

我目前正在为 Eclipse (Java) 中的智能手机和平板电脑进行布局项目。我按照开发人员网站上的说明,如何为不同的屏幕创建不同的布局,这很好用。

我遇到的问题是我想要不同布局中的不同按钮,当我从智能手机版本中删除 1 个按钮但我想在我的平板电脑版本中使用它时,智能手机版本崩溃,因为在 MainActivity.java 它调用一个他找不到的按钮。

我试图通过为每个设备创建不同的 mainActivity 页面来解决这个问题,但我不知道是否可以根据当前使用的设备在 AndroidManifest 中创建多个具有不同名称的启动页面。

问候。

4

3 回答 3

0

如果它是一个不同的按钮,但一个按钮仍然存在,那么您只需初始化变量以引用另一个按钮,代码应该仍然可以工作。

如果行为不一样,那么您可以拥有一个包含大部分通用代码的基类,以及每个布局的 2 个子类。

于 2013-08-30T07:52:14.743 回答
0

问题是您可能为不同布局文件中的不同按钮提供不同的 id。根据布局文件夹更改可绘制/样式,但保持不同布局中所有按钮的 id 相同。

于 2013-08-30T07:54:50.587 回答
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!");        

}
于 2013-08-30T08:26:41.140 回答