Codename One:模拟器和真实Android设备上的用户界面布局完全不同

时间:2017-03-19 13:58:26

标签: codenameone

嗯,这是我第一次在真正的Android设备上测试我的应用程序。用户界面布局与模拟器完全不同。请看图片:

enter image description here

enter image description here

代码相同,没有任何修改过。

Android版本为5.1.1。

显示屏幕的代码是:

    private final void show() {
    loginSignupForm = new Form(null, new BorderLayout());
    Tabs loginSignupTabs = new Tabs();
    Image splashScreenImage = theme.getImage("Starlent_logo25x25.png");
    ((Label) loginSignupForm.getToolbar().getTitleComponent()).setIcon(splashScreenImage);
    Style loginSignupStyle = UIManager.getInstance().getComponentStyle("Tab");
    prepareAndAddSignupTab(loginSignupTabs, loginSignupStyle);
    prepareAndAddLoginTab(loginSignupTabs, loginSignupStyle);
    loginSignupForm.add(BorderLayout.CENTER, loginSignupTabs);
    loginSignupForm.show();
}

那么,我如何管理或期望布局在不同的设备中?

至少,我希望将徽标放在Android设备的中心。我该怎么做?

1 个答案:

答案 0 :(得分:1)

您正在使用原生主题,如果您安装Android外观,您将看到主题在模拟器上的行为也是如此,因为这是故意的。

您的主题和代码可以覆盖特定于平台的行为,以产生相同的结果,例如如果标签位于底部,应用程序将不会在Android上感觉为原生。