Android 代号一:在横向和getDisplayWidth()中启动肖像应用程序

Android 代号一:在横向和getDisplayWidth()中启动肖像应用程序,android,width,codenameone,display,landscape-portrait,Android,Width,Codenameone,Display,Landscape Portrait,我的应用程序只能以纵向模式运行,不能以横向模式运行。对于iOS,这是一个构建提示(iOS.interface\u-orientation),运行良好。对于Android,这必须在代码中使用lockOrientation(true)进行设置,我将其放在publicvoidinit(对象上下文)中。锁定方向后,我在public void start()中调用getDisplayWidth()。当我在面向横向的Android设备上启动/测试应用程序时,我遇到了问题。显然,切换方向需要时间,有时返回的显

我的应用程序只能以纵向模式运行,不能以横向模式运行。对于iOS,这是一个构建提示(iOS.interface\u-orientation),运行良好。对于Android,这必须在代码中使用lockOrientation(true)进行设置,我将其放在publicvoidinit(对象上下文)中。锁定方向后,我在public void start()中调用getDisplayWidth()。当我在面向横向的Android设备上启动/测试应用程序时,我遇到了问题。显然,切换方向需要时间,有时返回的显示宽度实际上是显示高度。我尝试在callSerially中使用getDisplayWidth()包装代码,但没有帮助。我还尝试调用getDisplayHeight()并取这两个值中的最小值,但这不起作用,因为如果宽度作为高度返回,则状态栏高度将被扣除,结果显示的“宽度”值太小

因此,1)我的启动窗体(具有缩放到显示宽度的图像)首先显示不正确-这在等待下一个窗体显示时得到纠正,2)我的GUI有时使用错误的显示宽度-因此未使用全宽度


我的问题是如何确保在调用lockOrientation(true)后获得正确的(纵向)显示宽度当设备必须从横向调整到纵向时。

我确信有许多其他边缘情况会重现您忽略的问题,例如多任务/并排视图等。即使锁定方向,显示大小也会改变


您可以执行多种操作,例如覆盖组件OnlyLayout回调或侦听表单大小更改事件。

是的,我也必须查看拆分屏幕。方向锁定不适用于拆分屏幕(在Android上)。